DOMMatrixReadOnly

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

注意:此功能在 Web Workers 中可用。

DOMMatrixReadOnly 接口表示一个只读的 4×4 矩阵,适用于 2D 和 3D 操作。DOMMatrix 接口 — 基于 DOMMatrixReadOnly — 添加了不可变性,允许您在创建后修改矩阵。

此接口应在Web Workers 中可用,尽管一些实现尚未支持。

构造函数

DOMMatrixReadOnly()

创建一个新的 DOMMatrixReadOnly 对象。

实例属性

此接口不继承任何属性。

DOMMatrixReadOnly.is2D 只读

一个布尔标志,如果矩阵被初始化为 2D 矩阵,则其值为 true。如果为 false,则矩阵为 3D。

DOMMatrixReadOnly.isIdentity 只读

一个布尔值,如果矩阵是单位矩阵,则其值为 true

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

表示 4×4 矩阵每个分量的双精度浮点数值,其中 m11m14 是第一列,m21m24 是第二列,以此类推。

a, b, c, d, e, f

表示执行 2D 旋转和变换所需的 4×4 矩阵分量的双精度浮点数值。这些是 4×4 矩阵特定分量的别名,如下所示。

2D 3D 等效项
a m11
b m12
c m21
d m22
e m41
f m42

实例方法

此接口不继承任何方法。以下方法均不会修改原始矩阵。

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,该矩阵由反转源矩阵创建。原始矩阵不会被修改。

DOMMatrixReadOnly.multiply()

返回一个新DOMMatrix,该矩阵由计算源矩阵与指定矩阵的点积创建。原始矩阵不会

DOMMatrixReadOnly.rotateAxisAngle()

返回一个新DOMMatrix,该矩阵由绕指定向量旋转源矩阵给定的角度创建。原始矩阵不会被修改。

DOMMatrixReadOnly.rotate()

返回一个新DOMMatrix,该矩阵由绕其每个轴以指定角度旋转源矩阵创建。原始矩阵不会被修改。

DOMMatrixReadOnly.rotateFromVector()

返回一个新DOMMatrix,该矩阵由将源矩阵旋转到与指定向量和 (1, 0) 之间的角度创建。原始矩阵不会被修改。

DOMMatrixReadOnly.scale()

返回一个新DOMMatrix,该矩阵由以指定量沿每个轴缩放源矩阵创建,以给定原点为中心。默认情况下,X 轴和 Z 轴的缩放因子为 1,Y 轴没有默认缩放值。默认原点为 (0, 0, 0)。原始矩阵不会被修改。

DOMMatrixReadOnly.scale3d()

返回一个新DOMMatrix,该矩阵由以给定原点为中心,沿所有轴按给定因子缩放源 3D 矩阵创建。默认原点为 (0, 0, 0)。原始矩阵不会被修改。

DOMMatrixReadOnly.scaleNonUniform() 已弃用

返回一个新DOMMatrix,该矩阵通过以给定原点为中心,在 X、Y 和 Z 轴上应用指定的倾斜缩放创建。默认情况下,Y 轴和 Z 轴的缩放因子均为 1,但 X 轴的缩放因子必须指定。默认原点为 (0, 0, 0)。原始矩阵不会被修改。

DOMMatrixReadOnly.skewX()

返回一个新DOMMatrix,该矩阵通过沿 X 轴对源矩阵应用指定的倾斜变换创建。原始矩阵不会被修改。

DOMMatrixReadOnly.skewY()

返回一个新DOMMatrix,该矩阵通过沿 Y 轴对源矩阵应用指定的倾斜变换创建。原始矩阵不会被修改。

DOMMatrixReadOnly.toFloat32Array()

返回一个新的单精度浮点数Float32Array,包含构成矩阵的全部 16 个元素。

DOMMatrixReadOnly.toFloat64Array()

返回一个新的双精度浮点数Float64Array,包含构成矩阵的全部 16 个元素。

DOMMatrixReadOnly.toJSON()

返回 DOMMatrixReadOnly 对象的 JSON 表示形式。

DOMMatrixReadOnly.toString()

创建并返回矩阵的 CSS 矩阵语法表示形式,使用适当的 CSS 矩阵表示法。

DOMMatrixReadOnly.transformPoint()

使用矩阵转换指定的点,返回一个包含转换后点的新DOMPoint 对象。矩阵和原始点都不会被修改。

DOMMatrixReadOnly.translate()

返回一个新DOMMatrix,其中包含通过使用指定向量翻译源矩阵计算出的矩阵。默认情况下,向量为 (0, 0, 0)。原始矩阵不会被修改。

静态方法

fromFloat32Array()

给定一个单精度(32 位)浮点数值数组,创建一个新的可变 DOMMatrix 对象。如果数组有六个值,则结果是 2D 矩阵;如果数组有 16 个值,则结果是 3D 矩阵。否则,将抛出 TypeError 异常。

fromFloat64Array()

给定一个双精度(64 位)浮点数值数组,创建一个新的可变 DOMMatrix 对象。如果数组有六个值,则结果是 2D 矩阵;如果数组有 16 个值,则结果是 3D 矩阵。否则,将抛出 TypeError 异常。

fromMatrix()

给定一个现有矩阵或提供其属性值的对象,创建一个新的可变 DOMMatrix 对象。如果未指定矩阵,则矩阵将使用除右下角和其左上方元素(m33m34)外的所有元素都设置为 0 进行初始化。这些元素的默认值为 1

规范

规范
Geometry Interfaces Module Level 1
# DOMMatrix

浏览器兼容性

另见