DOMMatrixReadOnly: scale3d() 方法
注意:此功能在 Web Workers 中可用。
scale3d()
方法是 DOMMatrixReadOnly
接口的一个方法,它创建一个新矩阵,该矩阵是通过对当前矩阵应用 3D 缩放变换而得到的。它返回一个由原始 3D 矩阵根据指定的缩放因子(以指定的原点为中心)缩放而创建的新 DOMMatrix
,默认原点为 (0, 0, 0)
。原始矩阵不会被修改。
要边进行 3D 缩放边修改矩阵,请参阅 DOMMatrix.scale3dSelf()
。
语法
js
scale3d()
scale3d(scale)
scale3d(scale, originX)
scale3d(scale, originX, originY)
scale3d(scale, originX, originY, originZ)
参数
scale
-
乘数;缩放值。如果未提供缩放值,则默认为
1
。 originX
可选-
变换原点的 x 坐标。如果未提供原点,则默认为
0
。 originY
可选-
变换原点的 y 坐标。如果未提供原点,则默认为
0
。 originZ
可选-
变换原点的 z 坐标。如果此值为
0
(省略时的默认值),则结果矩阵可能不是 3D 的。
返回值
一个 DOMMatrix
。
示例
js
const matrix = new DOMMatrix();
console.log(matrix.toString()); // no transforms applied
// matrix(1, 0, 0, 1, 0, 0)
console.log(matrix.scale3d(2).toString());
/* matrix3d(
2, 0, 0, 0,
0, 2, 0, 0,
0, 0, 2, 0,
0, 0, 0, 1) */
console.log(matrix.scale3d(0.5, 25, 25, 1.25).toString());
/* matrix3d(
0.5, 0, 0, 0,
0, 0.5, 0, 0,
0, 0, 0.5, 0, 1
2.5, 12.5, 0.625, 1) */
console.log(matrix.toString()); // original matrix is unchanged
// matrix(1, 0, 0, 1, 0, 0)
规范
规范 |
---|
Geometry Interfaces Module Level 1 # dom-dommatrixreadonly-scale3d |
浏览器兼容性
加载中…
另见
DOMMatrix.scale3dSelf()
DOMMatrixReadOnly.scale()
- CSS
transform
属性以及scale3d()
和matrix3d()
函数 - CSS 变换模块
- SVG
transform
属性 CanvasRenderingContext2D
接口的CanvasRenderingContext2D.transform()
方法