DOMMatrixReadOnly

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

Das DOMMatrixReadOnly Interface repräsentiert eine schreibgeschützte 4×4-Matrix, geeignet für 2D- und 3D-Operationen. Das DOMMatrix Interface — basierend auf DOMMatrixReadOnly — fügt Mutabilität hinzu, die es Ihnen ermöglicht, die Matrix nach ihrer Erstellung zu ändern.

Dieses Interface sollte innerhalb von Web-Workern verfügbar sein, obwohl einige Implementierungen dies noch nicht erlauben.

Konstruktor

DOMMatrixReadOnly()

Erstellt ein neues DOMMatrixReadOnly Objekt.

Instanz-Eigenschaften

Dieses Interface erbt keine Eigenschaften.

is2D Schreibgeschützt

Ein Boolescher Wert, dessen Wert true ist, wenn die Matrix als 2D-Matrix initialisiert wurde. Ist der Wert false, ist die Matrix 3D.

isIdentity Schreibgeschützt

Ein Boolescher Wert, dessen Wert true ist, wenn die Matrix die Einheitsmatrix ist. Die Einheitsmatrix ist eine, bei der jeder Wert 0 ist, außer denen auf der Hauptdiagonalen von der oberen linken zur unteren rechten Ecke (mit anderen Worten, wo die Versätze in jeder Richtung gleich sind).

m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44

Doppelpräzise Gleitkommawerte, die jede Komponente einer 4×4-Matrix darstellen, wobei m11 bis m14 die erste Spalte sind, m21 bis m24 die zweite Spalte, und so weiter.

a, b, c, d, e, f

Doppelpräzise Gleitkommawerte, die die Komponenten einer 4×4-Matrix darstellen, die erforderlich sind, um 2D-Drehungen und -Übersetzungen durchzuführen. Diese sind Aliase für spezifische Komponenten einer 4×4-Matrix, wie unten gezeigt.

2D 3D Äquivalent
a m11
b m12
c m21
d m22
e m41
f m42

Instanz-Methoden

Dieses Interface erbt keine Methoden. Keine der folgenden Methoden ändert die ursprüngliche Matrix.

DOMMatrixReadOnly.flipX()

Gibt eine neue DOMMatrix zurück, die durch Spiegeln der Ursprungsmatrix um ihre X-Achse erstellt wurde. Dies entspricht der Multiplikation der Matrix mit DOMMatrix(-1, 0, 0, 1, 0, 0). Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.flipY()

Gibt eine neue DOMMatrix zurück, die durch Spiegeln der Ursprungsmatrix um ihre Y-Achse erstellt wurde. Dies entspricht der Multiplikation der Matrix mit DOMMatrix(1, 0, 0, -1, 0, 0). Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.inverse()

Gibt eine neue DOMMatrix zurück, die durch Invertieren der Ursprungsmatrix erstellt wurde. Wenn die Matrix nicht invertiert werden kann, werden die Komponenten der neuen Matrix alle auf NaN gesetzt und ihre is2D-Eigenschaft wird auf false gesetzt. Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.multiply()

Gibt eine neue DOMMatrix zurück, die durch die Berechnung des Skalarprodukts der Ursprungsmatrix und der angegebenen Matrix erstellt wurde: A⋅B. Wenn keine Matrix als Multiplikator angegeben wird, wird die Matrix mit einer Matrix multipliziert, in der jedes Element 0 ist, außer der rechten unteren Ecke und dem unmittelbar darüber und links davon befindlichen Element: m33 und m34. Diese haben den Standardwert 1. Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.rotateAxisAngle()

Gibt eine neue DOMMatrix zurück, die durch Drehen der Ursprungsmatrix um den angegebenen Winkel um den spezifizierten Vektor erstellt wurde. Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.rotate()

Gibt eine neue DOMMatrix zurück, die durch Drehen der Ursprungsmatrix um jede ihrer Achsen um die angegebene Anzahl von Grad erstellt wurde. Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.rotateFromVector()

Gibt eine neue DOMMatrix zurück, die durch Drehen der Ursprungsmatrix um den Winkel zwischen dem angegebenen Vektor und (1, 0) erstellt wurde. Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.scale()

Gibt eine neue DOMMatrix zurück, die durch Skalieren der Ursprungsmatrix um den für jede Achse angegebenen Betrag erstellt wurde, zentriert auf dem angegebenen Ursprung. Standardmäßig werden die X- und Z-Achsen mit 1 skaliert und die Y-Achse hat keinen Standard-Skalierungswert. Der Standardursprung ist (0, 0, 0). Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.scale3d()

Gibt eine neue DOMMatrix zurück, die durch Skalieren der Ursprungs-3D-Matrix um den angegebenen Faktor entlang aller ihrer Achsen erstellt wurde, zentriert auf dem angegebenen Ursprungspunkt. Der Standardursprung ist (0, 0, 0). Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.scaleNonUniform() Veraltet

Gibt eine neue DOMMatrix zurück, die durch Anwenden der angegebenen Skalierung auf die X-, Y- und Z-Achsen erstellt wurde, zentriert auf dem angegebenen Ursprung. Standardmäßig sind die Skalierungsfaktoren der Y- und Z-Achsen jeweils 1, aber der Skalierungsfaktor für X muss angegeben werden. Der Standardursprung ist (0, 0, 0). Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.skewX()

Gibt eine neue DOMMatrix zurück, die durch Anwenden der angegebenen Schertransformation auf die Ursprungsmatrix entlang ihrer X-Achse erstellt wurde. Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.skewY()

Gibt eine neue DOMMatrix zurück, die durch Anwenden der angegebenen Schertransformation auf die Ursprungsmatrix entlang ihrer Y-Achse erstellt wurde. Die ursprüngliche Matrix wird nicht geändert.

DOMMatrixReadOnly.toFloat32Array()

Gibt eine neue Float32Array zurück, die alle 16 Elemente (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) enthält, die die Matrix bilden. Die Elemente werden in der Reihenfolge der Einzelpräzisions-Gleitkommazahlen in spaltenbasierter Reihenfolge ("colex" - colexographical access) in das Array gespeichert. (Mit anderen Worten, die erste Spalte von oben nach unten, dann die zweite Spalte und so weiter.)

DOMMatrixReadOnly.toFloat64Array()

Gibt eine neue Float64Array zurück, die alle 16 Elemente (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) enthält, die die Matrix bilden. Die Elemente werden in der Reihenfolge der Doppelpräzisions-Gleitkommazahlen in spaltenbasierter Reihenfolge ("colex" - colexographical access) in das Array gespeichert. (Mit anderen Worten, die erste Spalte von oben nach unten, dann die zweite Spalte und so weiter.)

DOMMatrixReadOnly.toJSON()

Gibt eine JSON-Darstellung des DOMMatrixReadOnly Objekts zurück.

DOMMatrixReadOnly.toString()

Erstellt und gibt eine Zeichenkette zurück, die eine Zeichenfolgenrepräsentation der Matrix in CSS-Matrix-Syntax enthält, unter Verwendung der entsprechenden CSS-Matrix-Notation. Siehe die matrix() CSS-Funktion für Details zu dieser Syntax.

Für eine 2D-Matrix werden die Elemente a bis f aufgelistet, insgesamt sechs Werte in der Form matrix(a, b, c, d, e, f).

Für eine 3D-Matrix enthält die zurückgegebene Zeichenkette alle 16 Elemente und hat die Form matrix3d(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44). Siehe die CSS matrix3d() Funktion für Details zur Syntax der 3D-Notation.

Wirft eine InvalidStateError Ausnahme, wenn eines der Elemente in der Matrix nicht endlich ist (auch wenn im Falle einer 2D-Matrix die nicht endlichen Werte in nicht von der 2D-Matrix-Repräsentation verwendeten Elementen vorliegen).

DOMMatrixReadOnly.transformPoint()

Transformiert den angegebenen Punkt unter Verwendung der Matrix und gibt ein neues DOMPoint Objekt zurück, das den transformierten Punkt enthält. Weder die Matrix noch der ursprüngliche Punkt werden geändert.

DOMMatrixReadOnly.translate()

Gibt eine neue DOMMatrix zurück, die eine Matrix enthält, die durch Übersetzen der Ursprungsmatrix mit dem angegebenen Vektor berechnet wurde. Standardmäßig ist der Vektor (0, 0, 0). Die ursprüngliche Matrix wird nicht verändert.

Statische Methoden

fromFloat32Array()

Erstellt ein neues veränderliches DOMMatrix Objekt aus einem Array von Einzelpräzisions- (32 Bit) Gleitkommawerten. Wenn das Array sechs Werte hat, ist das Ergebnis eine 2D-Matrix; wenn das Array 16 Werte hat, ist das Ergebnis eine 3D-Matrix. Andernfalls wird eine TypeError Ausnahme ausgelöst.

fromFloat64Array()

Erstellt ein neues veränderliches DOMMatrix Objekt aus einem Array von Doppelpräzisions- (64 Bit) Gleitkommawerten. Wenn das Array sechs Werte hat, ist das Ergebnis eine 2D-Matrix; wenn das Array 16 Werte hat, ist das Ergebnis eine 3D-Matrix. Andernfalls wird eine TypeError Ausnahme ausgelöst.

fromMatrix()

Erstellt ein neues veränderliches DOMMatrix Objekt aus einer bestehenden Matrix oder einem Objekt, das die Werte für seine Eigenschaften bereitstellt. Wenn keine Matrix angegeben wird, wird die Matrix mit jedem Element auf 0 initialisiert, außer der rechten unteren Ecke und dem unmittelbar darüber und links davon befindlichen Element: m33 und m34. Diese haben den Standardwert 1.

Spezifikationen

Specification
Geometry Interfaces Module Level 1
# DOMMatrix

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch

  • Der veränderliche Matrixtyp DOMMatrix, der auf diesem basiert.
  • Die CSS matrix() und matrix3d() Funktionalnotationen, die von diesem Interface generiert werden können, um in einem CSS transform verwendet zu werden.