DOMMatrix: scaleSelf() 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.

Note: This feature is available in Web Workers.

Phương thức scaleSelf() của giao diện DOMMatrix là phương thức biến đổi có thể thay đổi, sửa đổi một ma trận bằng cách áp dụng hệ số tỷ lệ được chỉ định, lấy tâm tại gốc tọa độ cho trước với gốc tọa độ mặc định là (0, 0), trả về ma trận đã được thu phóng.

Để thu phóng ma trận mà không làm thay đổi nó, hãy xem DOMMatrixReadOnly.scale(), phương thức này tạo một ma trận thu phóng mới trong khi giữ nguyên ma trận gốc.

Cú pháp

js
scaleSelf()
scaleSelf(scaleX)
scaleSelf(scaleX, scaleY)
scaleSelf(scaleX, scaleY, scaleZ)
scaleSelf(scaleX, scaleY, scaleZ, originX)
scaleSelf(scaleX, scaleY, scaleZ, originX, originY)
scaleSelf(scaleX, scaleY, scaleZ, originX, originY, originZ)

Tham số

scaleX Optional

Hệ số nhân cho giá trị tỷ lệ trên trục x. Nếu không được cung cấp, mặc định là 1.

scaleY Optional

Hệ số nhân cho giá trị tỷ lệ trên trục y. Nếu không được cung cấp, mặc định là giá trị của scaleX.

scaleZ Optional

Hệ số nhân cho giá trị tỷ lệ trên trục z. Nếu giá trị này khác 1, ma trận kết quả sẽ là 3D.

originX Optional

Tọa độ x của gốc biến đổi. Nếu không có gốc tọa độ nào được cung cấp, mặc định là 0.

originY Optional

Tọa độ y của gốc biến đổi. Nếu không có gốc tọa độ nào được cung cấp, mặc định là 0.

originZ Optional

Tọa độ z của gốc biến đổi. Nếu không có gốc tọa độ nào được cung cấp, mặc định là 0. Nếu giá trị này khác 0, ma trận kết quả sẽ là 3D.

Giá trị trả về

Trả về chính nó; một DOMMatrix.

Nếu thu phóng được áp dụng quanh trục z, ma trận sẽ là ma trận 3D 4x4.

Ví dụ

SVG này chứa hai hình vuông bán trong suốt, một đỏ và một xanh, mỗi hình được đặt tại gốc tọa độ tài liệu:

html
<svg viewBox="0 0 50 50" height="200">
  <rect width="25" height="25" fill="#ff000099" />
  <rect id="transformed" width="25" height="25" fill="#0000ff99" />
</svg>

JavaScript này trước tiên tạo một ma trận, sau đó thu phóng ma trận thành ma trận giảm một nửa chiều rộng và tăng gấp đôi chiều cao, sử dụng phương thức scaleSelf().

Ma trận sau đó được áp dụng lên hình vuông xanh dương dưới dạng transform, thay đổi kích thước và vị trí của nó. Hình vuông đỏ không bị thay đổi.

js
const matrix = new DOMMatrix();
matrix.scaleSelf(0.5, 2);

document
  .querySelector("#transformed")
  .setAttribute("transform", matrix.toString());

Thông số kỹ thuật

Specification
Geometry Interfaces Module Level 1
# dom-dommatrix-scaleself

Tương thích trình duyệt

Xem thêm