DOMMatrixReadOnly: toFloat32Array() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Phương thức toFloat32Array() của giao diện DOMMatrixReadOnly trả về một Float32Array mới chứa tất cả 16 phần tử (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) tạo nên ma trận. Các phần tử được lưu vào mảng dưới dạng số thực dấu phẩy động độ chính xác đơn theo thứ tự cột chính (truy cập cộng cột, hay "colex"). (Nói cách khác, từ trên xuống dưới theo cột đầu tiên, rồi cột thứ hai, và cứ như vậy.)
Để dùng số thực dấu phẩy động độ chính xác kép, hãy xem DOMMatrixReadOnly.toFloat64Array().
Cú pháp
toFloat32Array()
Tham số
Không có.
Giá trị trả về
Một Float32Array; mảng gồm 16 giá trị phần tử của ma trận.
Ví dụ
>Sử dụng cơ bản
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
Độ chính xác đơn
Có nhiều cách để truy cập các giá trị của một ma trận. Ví dụ này xoay ma trận 30 độ, lưu trạng thái đã xoay dưới dạng đối tượng JSON bằng phương thức DOMMatrixReadOnly.toJSON() và dưới dạng mảng độ chính xác đơn bằng phương thức toFloat32Array().
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
Thông số kỹ thuật
| Specification |
|---|
| Geometry Interfaces Module Level 1> # dom-dommatrixreadonly-tofloat32array> |