[go: up one dir, main page]

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CanvasRenderingContext2D: getTransform()-Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2020⁩.

Die CanvasRenderingContext2D.getTransform()-Methode der Canvas 2D API ruft die aktuelle Transformationsmatrix ab, die auf den Kontext angewendet wird.

Syntax

js
getTransform()

Parameter

Keine.

Rückgabewert

Ein DOMMatrix-Objekt.

Die Transformationsmatrix wird beschrieben durch:

[acebdf001]\left[ \begin{array}{ccc} a & c & e \\ b & d & f \\ 0 & 0 & 1 \end{array} \right]

Hinweis: Das zurückgegebene Objekt ist nicht live, das heißt, es zu aktualisieren hat keine Auswirkungen auf die aktuelle Transformationsmatrix, und das Aktualisieren der aktuellen Transformationsmatrix hat keine Auswirkungen auf eine bereits zurückgegebene DOMMatrix.

Beispiele

Im folgenden Beispiel haben wir zwei <canvas>-Elemente. Wir wenden eine Transformation auf den Kontext des ersten Canvas an, indem wir CanvasRenderingContext2D.setTransform() verwenden und ein Quadrat darauf zeichnen. Dann rufen wir die Matrix davon mit getTransform() ab.

Wir wenden dann die abgerufene Matrix direkt auf den Kontext des zweiten Canvas an, indem wir das DOMMatrix-Objekt direkt an setTransform() übergeben und einen Kreis darauf zeichnen.

HTML

html
<canvas width="240"></canvas> <canvas width="240"></canvas>

CSS

css
canvas {
  border: 1px solid black;
}

JavaScript

js
const canvases = document.querySelectorAll("canvas");
const ctx1 = canvases[0].getContext("2d");
const ctx2 = canvases[1].getContext("2d");

ctx1.setTransform(1, 0.2, 0.8, 1, 0, 0);
ctx1.fillRect(25, 25, 50, 50);

let storedTransform = ctx1.getTransform();
console.log(storedTransform);

ctx2.setTransform(storedTransform);
ctx2.beginPath();
ctx2.arc(50, 50, 50, 0, 2 * Math.PI);
ctx2.fill();

Ergebnis

Spezifikationen

Specification
HTML
# dom-context-2d-gettransform-dev

Browser-Kompatibilität

Siehe auch