DOMMatrixReadOnly
interface · experimental
interface DOMMatrixReadOnlyThe DOMMatrixReadOnly interface represents a read-only 4×4 matrix, suitable for 2D and 3D operations. The DOMMatrix interface — which is based upon DOMMatrixReadOnly—adds mutability, allowing you to alter the matrix after creating it.
| m11 m21 m31 m41 |
| m12 m22 m32 m42 |
| m13 m23 m33 m43 |
| m14 m24 m34 m44 |
variable · experimental
var DOMMatrixReadOnly: { … }The DOMMatrixReadOnly interface represents a read-only 4×4 matrix, suitable for 2D and 3D operations. The DOMMatrix interface — which is based upon DOMMatrixReadOnly—adds mutability, allowing you to alter the matrix after creating it.
| m11 m21 m31 m41 |
| m12 m22 m32 m42 |
| m13 m23 m33 m43 |
| m14 m24 m34 m44 |
Constructors
constructor
new DOMMatrixReadOnly(init?: string | number[]): DOMMatrixReadOnlyProperties
a
readonly a: number
b
readonly b: number
c
readonly c: number
d
readonly d: number
e
readonly e: number
f
readonly f: number
is2D
readonly is2D: booleanThe readonly is2D property of the DOMMatrixReadOnly interface is a Boolean flag that is true when the matrix is 2D. The value is true if the matrix was initialized as a 2D matrix and only 2D transformation operations were applied. Otherwise, the matrix is defined in 3D, and is2D is false.
isIdentity
readonly isIdentity: booleanThe readonly isIdentity property of the DOMMatrixReadOnly interface is a Boolean whose value is true if the matrix is the identity matrix.
m11
readonly m11: number
m12
readonly m12: number
m13
readonly m13: number
m14
readonly m14: number
m21
readonly m21: number
m22
readonly m22: number
m23
readonly m23: number
m24
readonly m24: number
m31
readonly m31: number
m32
readonly m32: number
m33
readonly m33: number
m34
readonly m34: number
m41
readonly m41: number
m42
readonly m42: number
m43
readonly m43: number
m44
readonly m44: number
prototype
prototype: DOMMatrixReadOnlyMethods
flipX
flipX(): DOMMatrixThe flipX() method of the DOMMatrixReadOnly interface creates a new matrix being the result of the original matrix flipped about the x-axis. This is equivalent to multiplying the matrix by DOMMatrix(-1, 0, 0, 1, 0, 0). The original matrix is not modified.
flipY
flipY(): DOMMatrixThe flipY() method of the DOMMatrixReadOnly interface creates a new matrix being the result of the original matrix flipped about the y-axis. This is equivalent to multiplying the matrix by DOMMatrix(1, 0, 0, -1, 0, 0). The original matrix is not modified.
inverse
inverse(): DOMMatrixThe inverse() method of the DOMMatrixReadOnly interface creates a new matrix which is the inverse of the original matrix. If the matrix cannot be inverted, the new matrix's components are all set to NaN and its is2D property is set to false. The original matrix is not changed.
multiply
multiply(other?: DOMMatrixInit): DOMMatrixThe multiply() method of the DOMMatrixReadOnly interface creates and returns a new matrix which is the dot product of the matrix and the otherMatrix parameter. If otherMatrix is omitted, the matrix is multiplied by a matrix in which every element is 0 except the bottom-right corner and the element immediately above and to its left: m33 and m34. These have the default value of 1. The original matrix is not modified.
rotate
rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrixThe rotate() method of the DOMMatrixReadOnly interface returns a new DOMMatrix created by rotating the source matrix around each of its axes by the specified number of degrees. The original matrix is not altered.
rotateAxisAngle
rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrixThe rotateAxisAngle() method of the DOMMatrixReadOnly interface returns a new DOMMatrix created by rotating the source matrix by the given vector and angle. The original matrix is not altered.
rotateFromVector
rotateFromVector(x?: number, y?: number): DOMMatrixThe rotateFromVector() method of the DOMMatrixReadOnly interface is returns a new DOMMatrix created by rotating the source matrix by the angle between the specified vector and (1, 0). The rotation angle is determined by the angle between the vector (1,0)T and (x,y)T in the clockwise direction, or (+/-)arctan(y/x). If x and y are both 0, the angle is specified as 0. The original matrix is not altered.
scale
scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrixThe scale() method of the DOMMatrixReadOnly interface creates a new matrix being the result of the original matrix with a scale transform applied.
scale3d
scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrixThe scale3d() method of the DOMMatrixReadOnly interface creates a new matrix which is the result of a 3D scale transform being applied to the matrix. It returns a new DOMMatrix created by scaling the source 3d matrix by the given scale factor centered on the origin point specified by the origin parameters, with a default origin of (0, 0, 0). The original matrix is not modified.
scaleNonUniform
scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrixDeprecated.
skewX
skewX(sx?: number): DOMMatrixThe skewX() method of the DOMMatrixReadOnly interface returns a new DOMMatrix created by applying the specified skew transformation to the source matrix along its x-axis. The original matrix is not modified.
skewY
skewY(sy?: number): DOMMatrixThe skewY() method of the DOMMatrixReadOnly interface returns a new DOMMatrix created by applying the specified skew transformation to the source matrix along its y-axis. The original matrix is not modified.
toFloat32Array
toFloat32Array(): Float32Array<ArrayBuffer>The toFloat32Array() method of the DOMMatrixReadOnly interface returns a new Float32Array containing all 16 elements (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) which comprise the matrix. The elements are stored into the array as single-precision floating-point numbers in column-major (colexographical access, or "colex") order. (In other words, down the first column from top to bottom, then the second column, and so forth.)
toFloat64Array
toFloat64Array(): Float64Array<ArrayBuffer>The toFloat64Array() method of the DOMMatrixReadOnly interface returns a new Float64Array containing all 16 elements (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) which comprise the matrix. The elements are stored into the array as double-precision floating-point numbers in column-major (colexographical access, or "colex") order. (In other words, down the first column from top to bottom, then the second column, and so forth.)
toJSON
toJSON(): anyThe toJSON() method of the DOMMatrixReadOnly interface creates and returns a JSON object. The JSON object includes the 2D matrix elements a through f, the 16 elements of the 4X4 3D matrix, m[1-4][1-4], the boolean is2D property, and the boolean isIdentity property.
transformPoint
transformPoint(point?: DOMPointInit): DOMPointThe transformPoint method of the DOMMatrixReadOnly interface creates a new DOMPoint object, transforming a specified point by the matrix. Neither the matrix nor the original point are altered.
translate
translate(tx?: number, ty?: number, tz?: number): DOMMatrixThe translate() method of the DOMMatrixReadOnly interface creates a new matrix being the result of the original matrix with a translation applied.
toString
toString(): stringfromFloat32Array
fromFloat32Array(array32: Float32Array<ArrayBuffer>): DOMMatrixReadOnlyThe fromFloat32Array() static method of the DOMMatrixReadOnly interface creates a new DOMMatrixReadOnly object given an array of single-precision (32-bit) floating-point values.
fromFloat64Array
fromFloat64Array(array64: Float64Array<ArrayBuffer>): DOMMatrixReadOnlyThe fromFloat64Array() static method of the DOMMatrixReadOnly interface creates a new DOMMatrixReadOnly object given an array of double-precision (64-bit) floating-point values.
fromMatrix
fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnlyThe fromMatrix() static method of the DOMMatrixReadOnly interface creates a new DOMMatrixReadOnly object given an existing matrix or an object which provides the values for its properties.