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

瀏覽器相容性

另見