DOMMatrixReadOnly: toFloat32Array() 方法
toFloat32Array() 方法是 DOMMatrixReadOnly 介面的一個方法,它返回一個新的 Float32Array,其中包含構成矩陣的全部 16 個元素(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44)。這些元素以單精度浮點數的形式儲存在陣列中,採用列優先(col-major,或稱為“colexographical access”或“colex”)順序。(換句話說,是從第一列從上到下,然後是第二列,以此類推。)
有關雙精度浮點數,請參閱 DOMMatrixReadOnly.toFloat64Array()。
語法
js
toFloat32Array()
引數
無。
返回值
一個 Float32Array;一個包含矩陣 16 個元素值的陣列。
示例
基本用法
js
const matrix = new DOMMatrixReadOnly();
const float32 = matrix.translate(20, 30, 50).toFloat32Array();
console.log(float32); // Float64Array(16) [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 20, 30, 0, 1 ] ]
console.log(`m41: ${float32[12]}, m42: ${float32[13]}, m43: ${float32[14]}`); // m41: 20, m42: 30, M44: 40
單精度
有多種方法可以訪問矩陣的值。此示例透過 30deg 旋轉矩陣,使用 DOMMatrixReadOnly.toJSON() 方法將旋轉後的狀態儲存為 JSON 物件,並使用 toFloat32Array() 方法將其儲存為單精度陣列。
js
const matrix = new DOMMatrixReadOnly();
const json = matrix.rotate(30).toJSON();
const float32 = matrix.rotate(30).toFloat32Array();
console.log(`a: ${json["a"]}, b: ${json["b"]}`); // a: 0.8660254037844387, b: 0.49999999999999994
console.log(`a: ${float32[0]}, b: ${float32[1]}`); // a: 0.8660253882408142, b: 0.5
規範
| 規範 |
|---|
| Geometry Interfaces Module Level 1 # dom-dommatrixreadonly-tofloat32array |
瀏覽器相容性
載入中…