CanvasRenderingContext2D: getContextAttributes()-Methode

Die CanvasRenderingContext2D.getContextAttributes()-Methode gibt ein Objekt zurück, das Attribute enthält, die vom Kontext genutzt werden.

Beachten Sie, dass Kontextattribute angefordert werden können, wenn der Kontext mit HTMLCanvasElement.getContext() erstellt wird. Die Attribute, die tatsächlich unterstützt und verwendet werden, können jedoch abweichen.

Syntax

js
getContextAttributes()

Parameter

Keine.

Rückgabewert

Ein CanvasRenderingContext2DSettings-Objekt, das die tatsächlichen Kontextparameter enthält. Es hat folgende Mitglieder:

alpha Optional

Ein boolescher Wert, der angibt, ob die Leinwand einen Alphakanal enthält. Wenn false, ist der Hintergrund immer undurchsichtig, was das Zeichnen von transparenten Inhalten und Bildern beschleunigen kann.

colorSpace Optional

Gibt den Farbraum des Rendering-Kontexts an. Mögliche Werte sind:

desynchronized Optional

Ein boolescher Wert, der angibt, ob der User-Agent die Latenzzeit reduziert hat, indem er den Malzyklus der Leinwand von der Ereignisschleife desynchronisiert hat.

willReadFrequently Optional

Ein boolescher Wert, der angibt, ob diese Leinwand Software-Beschleunigung (anstelle von Hardware-Beschleunigung) verwendet, um häufige Rückleseoperationen über getImageData() zu unterstützen.

Beispiele

Dieses Beispiel zeigt, wie Sie Kontextattribute beim Erstellen eines Leinwandkontexts angeben und anschließend getContextAttributes() aufrufen können, um die tatsächlichen Parameter zu lesen, die der Browser verwendet hat.

Zuerst erstellen wir einen Kontext mit HTMLCanvasElement.getContext(), wobei wir nur ein Kontextattribut angeben.

js
let canvas = document.createElement("canvas");
let ctx = canvas.getContext("2d", { alpha: false });

Wenn die getContextAttributes()-Methode unterstützt wird, verwenden wir sie, um die tatsächlichen vom Browser genutzten Attribute auszulesen (einschließlich derjenigen, die wir explizit angegeben haben):

js
if (ctx.getContextAttributes) {
  const attributes = ctx.getContextAttributes();
  log(JSON.stringify(attributes));
} else {
  log("CanvasRenderingContext2D.getContextAttributes() is not supported");
}

Abhängig von den vom Browser unterstützten Attributen sollte das untenstehende Protokoll eine Zeichenkette anzeigen, die in etwa so aussieht: {alpha: false, colorSpace: 'srgb', desynchronized: false, willReadFrequently: false}

Spezifikationen

Specification
HTML
# 2dcontext:dom-context-2d-canvas-getcontextattributes-2

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
getContextAttributes

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Has more compatibility info.

Siehe auch