DOMMatrixReadOnly: translate() 方法
DOMMatrixReadOnly
接口的 translate()
方法创建一个新的矩阵,该矩阵是原始矩阵应用平移变换后的结果。
语法
js
DOMMatrix.translate(translateX, translateY)
DOMMatrix.translate(translateX, translateY, translateZ)
参数
translateX
-
表示平移向量的横坐标(x 坐标)的数字。
translateY
-
表示平移向量的纵坐标(y 坐标)的数字。
translateZ
可选-
表示平移向量的 z 分量的数字。如果未提供,则默认为 0。如果此值不为 0,则生成的矩阵将为 3D 矩阵。
返回值
返回一个 DOMMatrix
,其中包含一个新矩阵,该矩阵是通过给定向量平移矩阵的结果。原始矩阵不会被修改。
如果围绕 z 轴应用平移,则生成的矩阵将为 4x4 的 3D 矩阵。
示例
此 SVG 包含两个正方形,一个红色,一个蓝色,每个正方形都位于文档原点
html
<svg width="250" height="250" viewBox="0 0 50 50">
<rect width="25" height="25" fill="red" />
<rect id="transformed" width="25" height="25" fill="blue" />
</svg>
以下 JavaScript 首先创建一个单位矩阵,然后使用 translate()
方法创建一个新的平移矩阵,然后将其作为 transform
应用于蓝色正方形。红色正方形保持原位。
js
const matrix = new DOMMatrixReadOnly().translate(25, 25);
document
.querySelector("#transformed")
.setAttribute("transform", matrix.toString());
规范
规范 |
---|
几何接口模块级别 1 # dom-dommatrixreadonly-translate |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。