DOMMatrix: scale3dSelf() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

注意:此功能在 Web Workers 中可用。

scale3dSelf() 方法是 DOMMatrix 接口的一个可变转换方法,它通过在给定原点上将指定的缩放因子应用于所有三个轴来修改矩阵,默认原点为 (0, 0, 0),并返回 3D 缩放后的矩阵。

要 3D 缩放矩阵而不改变它,请参阅 DOMMatrixReadOnly.scale3d(),它会创建一个新的缩放矩阵,同时保持原始矩阵不变。

语法

js
scale3dSelf()
scale3dSelf(scale)
scale3dSelf(scale, originX)
scale3dSelf(scale, originX, originY)
scale3dSelf(scale, originX, originY, originZ)

参数

scale

乘数;缩放值。如果未提供缩放值,则默认为 1。如果缩放值不是 1,则当前矩阵的 is2D 属性将设置为 false

originX 可选

转换原点的 x 坐标。如果未提供原点,则默认为 0

originY 可选

转换原点的 y 坐标。如果未提供原点,则默认为 0

originZ 可选

转换原点的 z 坐标。如果未提供原点,则默认为 0

返回值

返回自身;一个 DOMMatrix 对象。

示例

js
const matrix = new DOMMatrix();
console.log(matrix.scale3dSelf(2).toString());
/* matrix3d(
    2, 0, 0, 0, 
    0, 2, 0, 0, 
    0, 0, 2, 0, 
    0, 0, 0, 1) */
console.log(matrix.scale3dSelf(3.1, 25, 25, 1.25).toString());
/* matrix3d(
    6.2, 0, 0, 0,
    0, 6.2, 0, 0, 
    0, 0, 6.2, 0, 
    -105, -105, -5.25, 1) */
console.log(matrix.toString());
/* matrix3d(
    6.2, 0, 0, 0, 
    0, 6.2, 0, 0, 
    0, 0, 6.2, 0, 
    -105, -105, -5.25, 1) (same as above) */

规范

规范
Geometry Interfaces Module Level 1
# dom-dommatrix-scale3dself

浏览器兼容性

另见