Spec-Zone.ru › Web APIs

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}

Спецификации

Спецификация
HTML
# 2dcontext:dom-context-2d-canvas-getcontextattributes-2

Совместимость с браузерами

Рабочие столы Мобильные устройства
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

См. также

  • HTMLCanvasElement.getContext()
  • WebGLRenderingContext.getContextAttributes()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API