DOMMatrixReadOnly - 代表只读的 4x4 矩阵,适用于 2D 和 3D 操作
DOMMatrixReadOnly
接口代表 4x4 矩阵,适用于 2D 和 3D 操作。如果该接口仅定义只读矩阵,继承自它的 DOMMatrix
接口,则添加所有属性和方法以允许具有可修改的矩阵。
4x4 矩阵适合描述 3D 中的任何旋转和平移。
该接口应该可以在 Web worker 中使用,但某些实现还不允许使用。
属性
该接口没有继承任何其他属性。
m11
, m12
, m13
, m14
, m21
, m22
, m23
, m24
, m31
, m32
, m33
, m34
, m41
, m42
, m43
, m44
只读
均为 double
,代表 4x4 矩阵的每个组成部分。它们是只读的,但 DOMMatrix
中具有相同名称的对应属性则不是。
a
, b
, c
, d
, e
, f
只读
均为 double
,表示 2D 旋转和平移所需的 4x4 矩阵的每个分量。它们是 4x4 矩阵的某些组件的别名:
2D |
相等于 3D
|
---|---|
a |
m11 |
b |
m12 |
c |
m21 |
d |
m22 |
e |
m41 |
f |
m42 |
它们是只读的,但 DOMMatrix
中具有相同名称的属性则不是。
DOMMatrixReadOnly.is2D
只读
一个 Boolean
指示矩阵是否包含 2D 矩阵并且仅接受 2D 变换。
DOMMatrixReadOnly.isIdentity
只读
一个 Boolean
,表示是否为单位矩阵,即对角上的元素为 1
,其他地方的为 0
。
方法
该接口不继承任何方法。
DOMMatrixReadOnly.flipX()
返回一个 DOMMatrix
,其中包含一个新矩阵,它是原始矩阵围绕 x 轴翻转的结果,乘以 DOMMatrix(-1, 0, 0, 1, 0, 0)
。原始矩阵未被修改。
DOMMatrixReadOnly.flipY()
返回一个 DOMMatrix
,其中包含一个新矩阵,它是围绕 y 轴翻转原始矩阵的结果,乘以 DOMMatrix(1, 0, 0, -1, 0, 0)
。原始矩阵未被修改。
DOMMatrixReadOnly.inverse()
返回一个 DOMMatrix
,其中包含一个新矩阵,它是原始矩阵被反转的结果。原始矩阵未被修改。如果矩阵不能被反转,则其所有组件都设置为 NaN
,而 is2D()
则返回 false
。
DOMMatrixReadOnly.multiply()
返回包含新矩阵的 DOMMatrix
,该矩阵是原始矩阵乘以给定 DOMMatrix
的结果。原始矩阵未被修改。
DOMMatrixReadOnly.rotateAxisAngle()
返回包含新矩阵的 DOMMatrix
,该矩阵是原始矩阵被给定角度和给定向量旋转的结果。原始矩阵未被修改。
DOMMatrixReadOnly.rotate()
返回一个 DOMMatrix
,其中包含一个新矩阵,该矩阵是原始矩阵旋转给定角度的结果,旋转以给定原点为中心。原始矩阵未被修改。
DOMMatrixReadOnly.rotateFromVector()
返回包含新矩阵的 DOMMatrix
,该矩阵是原始矩阵被旋转给定矢量和(1,0)之间的角度的结果,以给定的原点为中心。原始矩阵未被修改。
DOMMatrixReadOnly.scale()
返回一个 DOMMatrix
,其中包含一个新矩阵,该矩阵是由给定因子缩放的矩阵 x 和 y 维度的结果,以给定的原点为中心。原始矩阵未被修改。
DOMMatrixReadOnly.scale3d()
返回一个 DOMMatrix
,其中包含一个新矩阵,该矩阵是由给定因子缩放的矩阵 x,y 和 z 维度的结果,以给定的原点为中心。原始矩阵未被修改。
DOMMatrixReadOnly.scaleNonUniform()
返回包含新矩阵的 DOMMatrix
,矩阵 x,y 和 z 维度的结果由每个维度的给定因子缩放,以给定的原点为中心。原始矩阵未被修改。
DOMMatrixReadOnly.skewX()
返回包含新矩阵的 DOMMatrix
,该矩阵是原始矩阵沿着 x 轴由给定因子倾斜的结果。原始矩阵未被修改。
DOMMatrixReadOnly.skewY()
返回包含新矩阵的 DOMMatrix
,该矩阵是原始矩阵沿 y 轴偏斜给定因子的结果。原始矩阵未被修改。
DOMMatrixReadOnly.toFloat32Array()
返回一个 Float32Array
,包含 6 个组件( a
,b
,c
, d
,e
,f
),在 2D 矩阵的情况下或 16 个组件( m11
,m12
,m13
,m14
,m21
,m22
,m23
,m24
,m31
,m32
,m33
,m34
,m41
,m42
,m43
,m44
)用于 3D 矩阵。
DOMMatrixReadOnly.toFloat64Array()
返回包含 6 个组件( a
,b
,c
, d
,e
,f
)的 Float64Array
,如果是 2D 矩阵或者 16 个组件( m11
,m12
,m13
,m14
,m21
,m22
,m23
,m24
,m31
,m32
,m33
,m34
,m41
,m42
,m43
,m44
)用于 3D 矩阵。
DOMMatrixReadOnly.toJSON()
返回 DOMMatrixReadOnly
对象的 JSON 表示。
DOMMatrixReadOnly.toString()
返回一个 DOMString
,其中包含由 ','
分隔的 6 个组件,并以 CSS 矩阵功能符号为前缀,为 'matrix (a, b, c, d, e, f)',
,在 2D 矩阵或矩阵 3d 函数表示法和 16 个分量的情况,'matrix3d(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44)'
,用于 3D 矩阵。
DOMMatrixReadOnly.transformPoint()
返回 DOMPoint
,它是参数乘以矩阵给出的点。但原始点和矩阵不会被修改。
DOMMatrixReadOnly.translate()
返回包含新矩阵的 DOMMatrix
,该矩阵是由给定向量转换的矩阵的结果。原始矩阵未被修改。
规范
规范 | 状态 | 备注 |
---|---|---|
Geometry Interfaces Module Level 1 DOMMatrixReadOnly 的定义 |
候选推荐 | 初始定义 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
Web workers 中支持 | 61 | 不支持 | 不支持 | 不支持 | 48 | 不支持 |
DOMMatrixReadOnly() 构造函数 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m11 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m12 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m13 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m14 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m21 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m22 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m23 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m24 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m31 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m32 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m33 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m34 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m41 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m42 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m43 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
m44 |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
a |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
b |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
c |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
d |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
e |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
f |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
is2D |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
isIdentity |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
flipX |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
flipY |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
inverse |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
multiply |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
rotate |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
rotateAxisAngle |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
rotateFromVector |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
scale |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
scale3d |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
scaleNonUniform |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
skewX |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
skewY |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
toFloat32Array |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
toFloat64Array |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
toJSON |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
toString |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
transform |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
transformPoint |
61 | 不支持 | 33 | 不支持 | 48 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
Web workers 中支持 | 61 | 61 | 不支持 | 不支持 | 未知 | 48 | 不支持 |
DOMMatrixReadOnly() 构造函数 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m11 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m12 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m13 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m14 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m21 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m22 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m23 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m24 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m31 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m32 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m33 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m34 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m41 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m42 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m43 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
m44 |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
a |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
b |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
c |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
d |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
e |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
f |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
is2D |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
isIdentity |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
flipX |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
flipY |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
inverse |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
multiply |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
rotate |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
rotateAxisAngle |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
rotateFromVector |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
scale |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
scale3d |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
scaleNonUniform |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
skewX |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
skewY |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
toFloat32Array |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
toFloat64Array |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
toJSON |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
toString |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
transform |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |
transformPoint |
61 | 61 | 不支持 | 33 | 未知 | 48 | 不支持 |