CanvasRenderingContext2D: метод getContextAttributes()
Метод CanvasRenderingContext2D.getContextAttributes() возвращает объект, содержащий атрибуты, используемые контекстом.
Обратите внимание, что атрибуты контекста могут быть запрошены при создании контекста с помощью HTMLCanvasElement.getContext(), но фактически поддерживаемые и используемые атрибуты могут отличаться.
Синтаксис
getContextAttributes()
Параметры
Нет.
Возвращаемое значение
Объект CanvasRenderingContext2DSettings , содержащий фактические параметры контекста. Он имеет следующие члены:
alphaНеобязательно-
Логическое значение, указывающее, содержит ли холст альфа-канал. Если
false, фон всегда непрозрачный, что может ускорить отрисовку прозрачного контента и изображений. colorSpaceНеобязательно-
Определяет цветовое пространство контекста отрисовки. Возможные значения:
-
srgb: обозначает цветовое пространство sRGB. -
display-p3: обозначает цветовое пространство display-p3.
-
desynchronizedНеобязательно-
Логическое значение, указывающее, что пользовательский агент уменьшил задержку, десинхронизировав цикл отрисовки холста с циклом событий.
willReadFrequentlyНеобязательно-
Логическое значение, указывающее, использует ли этот холст программное ускорение (вместо аппаратного) для поддержки частых операций чтения с помощью
getImageData().
Примеры
Этот пример демонстрирует, как можно задать атрибуты контекста при создании контекста холста, а затем вызвать getContextAttributes(), чтобы считать фактические параметры, используемые браузером.
Сначала мы создаём контекст с помощью HTMLCanvasElement.getContext(), указав только один атрибут контекста.
let canvas = document.createElement("canvas");
let ctx = canvas.getContext("2d", { alpha: false });
Если метод getContextAttributes() поддерживается, мы используем его для чтения фактических атрибутов, используемых браузером (включая те, которые мы явно указали):
if (ctx.getContextAttributes) {
const attributes = ctx.getContextAttributes();
log(JSON.stringify(attributes));
} else {
log("CanvasRenderingContext2D.getContextAttributes() is not supported");
}
В зависимости от атрибутов, поддерживаемых браузером, в логе ниже должна отобразиться строка, похожая на: {alpha: false, colorSpace: 'srgb', desynchronized: false, willReadFrequently: false}
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getContextAttributes |
7332–60 | 79 | 117 | 6019–47 | 15 | 7332–60 | 117 | 5219–44 | 15 | 11.02.0–8.0 | 734.4.3–60 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getContextAttributes