← 返回首页
DOMMatrix: DOMMatrix()-Konstruktor - Web-APIs | MDN

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

View in English Always switch to English

DOMMatrix: DOMMatrix()-Konstruktor

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Der DOMMatrix()-Konstruktor erstellt ein neues DOMMatrix-Objekt, das eine 4x4-Matrix darstellt und für 2D- und 3D-Operationen geeignet ist.

In diesem Artikel

Syntax

js
new DOMMatrix() new DOMMatrix(initString) new DOMMatrix(initArray)

Parameter

initString Optional

Ein String, der eine 2D- oder 3D-Matrix im CSS-Format matrix() oder matrix3d() darstellt.

initArray Optional

Ein Array, das entweder 6 oder 16 Zahlen im spalten-major Orden enthält. Andere Array-Längen werfen einen TypeError.

  • Ein Array mit 6 Elementen wird als die Matrixkomponenten [m11, m12, m21, m22, m41, m42] interpretiert und erstellt eine 2D-Matrix.
  • Ein Array mit 16 Elementen wird als die Matrixkomponenten [m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44] interpretiert und erstellt eine 3D-Matrix.

Wenn dieses Argument weggelassen wird, wird eine Einheitsmatrix erstellt, d.h. äquivalent zu [1, 0, 0, 1, 0, 0].

Wenn dieses Argument als Float32Array oder Float64Array angegeben wird, sollten Sie die leistungsfähigeren statischen Methoden DOMMatrix.fromFloat32Array() oder DOMMatrix.fromFloat64Array() stattdessen in Betracht ziehen.

Rückgabewert

Ein neues DOMMatrix-Objekt.

Ausnahmen

TypeError

Wird geworfen, wenn das Argument kein String oder ein Array mit einer anderen Länge als 6 oder 16 ist.

SyntaxError

Wird geworfen, wenn das String-Argument nicht im gültigen CSS-Format matrix() oder matrix3d() ist.

Beispiele

Dieses Beispiel erstellt eine DOMMatrix, um sie als Argument für den Aufruf von DOMPointReadOnly.matrixTransform() zu verwenden.

js
const point = new DOMPoint(5, 4); const scaleX = 2; const scaleY = 3; const translateX = 12; const translateY = 8; const angle = Math.PI / 2; const matrix = new DOMMatrix([ Math.cos(angle) * scaleX, Math.sin(angle) * scaleX, -Math.sin(angle) * scaleY, Math.cos(angle) * scaleY, translateX, translateY, ]); const transformedPoint = point.matrixTransform(matrix);

Spezifikationen

Spezifikation
Geometry Interfaces Module Level 1
# dom-dommatrix-dommatrix

Browser-Kompatibilität

JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.

Siehe auch