DOMMatrix: DOMMatrix() constructor
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.
Note: This feature is available in Web Workers.
Hàm khởi tạo DOMMatrix() tạo một đối tượng DOMMatrix mới biểu diễn ma trận 4x4, phù hợp cho các phép toán 2D và 3D.
Cú pháp
new DOMMatrix()
new DOMMatrix(initString)
new DOMMatrix(initArray)
Tham số
initStringOptional-
Một chuỗi biểu diễn ma trận 2D hoặc 3D theo định dạng CSS
matrix()hoặcmatrix3d(). initArrayOptional-
Một mảng chứa 6 hoặc 16 số theo thứ tự cột chính. Các độ dài mảng khác sẽ ném ra
TypeError.- Mảng 6 phần tử được hiểu là các thành phần ma trận
[m11, m12, m21, m22, m41, m42], tạo ma trận 2D. - Mảng 16 phần tử được hiểu là các thành phần ma trận
[m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44], tạo ma trận 3D.
Nếu tham số này bị bỏ qua, ma trận đơn vị sẽ được tạo, tương đương với
[1, 0, 0, 1, 0, 0].Nếu tham số này được cung cấp dưới dạng
Float32ArrayhoặcFloat64Array, hãy cân nhắc sử dụng các phương thức tĩnh hiệu quả hơnDOMMatrix.fromFloat32Array()hoặcDOMMatrix.fromFloat64Array()thay thế. - Mảng 6 phần tử được hiểu là các thành phần ma trận
Giá trị trả về
Một đối tượng DOMMatrix mới.
Ngoại lệ
TypeError-
Được ném ra nếu tham số không phải là chuỗi hoặc mảng có độ dài khác 6 hoặc 16.
SyntaxError-
Được ném ra nếu tham số chuỗi không ở định dạng CSS
matrix()hoặcmatrix3d()hợp lệ.
Ví dụ
Ví dụ này tạo một DOMMatrix để sử dụng làm đối số khi gọi DOMPointReadOnly.matrixTransform().
const point = new DOMPoint(5, 4);
const scaleX = 2;
const scaleY = 3;
const translateX = 12;
const translateY = 8;
const angle = Math.PI / 2;
const matrix = new DOMMatrix([
Math.cos(angle) * scaleX,
Math.sin(angle) * scaleX,
-Math.sin(angle) * scaleY,
Math.cos(angle) * scaleY,
translateX,
translateY,
]);
const transformedPoint = point.matrixTransform(matrix);
Thông số kỹ thuật
| Specification |
|---|
| Geometry Interfaces Module Level 1> # dom-dommatrix-dommatrix> |