SVGTransform

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

SVGTransform 接口反映了 SVGTransformList 中一个组件的变换;因此,一个 SVGTransform 对象对应于 transform 属性中的一个单独组件(例如 scale(…)matrix(…))。

SVGTransform 对象可以被指定为只读,这意味着尝试修改该对象将导致抛出异常。

实例属性

type

由该接口上定义的 SVG_TRANSFORM_* 常量之一指定的该值的类型。

angle

作为浮点数值的角度。这是 SVG_TRANSFORM_ROTATESVG_TRANSFORM_SKEWXSVG_TRANSFORM_SKEWY 的便捷属性。对于 SVG_TRANSFORM_MATRIXSVG_TRANSFORM_TRANSLATESVG_TRANSFORM_SCALEangle 将为零。

matrix

作为 DOMMatrix 的矩阵,表示此变换。矩阵对象是活动的,这意味着对 SVGTransform 对象所做的任何更改都会立即反映在矩阵对象中,反之亦然。如果矩阵对象被直接更改(即,不使用 SVGTransform 接口本身的方法),则 SVGTransform 的类型将更改为 SVG_TRANSFORM_MATRIX

实例方法

setMatrix()

将变换类型设置为 SVG_TRANSFORM_MATRIX,并使用参数 matrix 定义新的变换。请注意,参数 matrix 的值将被复制。

setTranslate()

将变换类型设置为 SVG_TRANSFORM_TRANSLATE,并使用参数 txty 定义平移量。

setScale()

将变换类型设置为 SVG_TRANSFORM_SCALE,并使用参数 sxsy 定义缩放量。

setRotate()

将变换类型设置为 SVG_TRANSFORM_ROTATE,并使用参数 angle 定义旋转角度,使用参数 cxcy 定义可选的旋转中心。

setSkewX()

将变换类型设置为 SVG_TRANSFORM_SKEWX,并使用参数 angle 定义倾斜量。

setSkewY()

将变换类型设置为 SVG_TRANSFORM_SKEWY,并使用参数 angle 定义倾斜量。

静态属性

SVG_TRANSFORM_UNKNOWN (0)

单元类型不是预定义单元类型之一。尝试定义此类型的新值或尝试将现有值切换为此类型是无效的。

SVG_TRANSFORM_MATRIX (1)

matrix(…) 变换。

SVG_TRANSFORM_TRANSLATE (2)

translate(…) 变换。

SVG_TRANSFORM_SCALE (3)

scale(…) 变换。

SVG_TRANSFORM_ROTATE (4)

rotate(…) 变换。

SVG_TRANSFORM_SKEWX (5)

skewx(…) 变换。

SVG_TRANSFORM_SKEWY (6)

skewy(…) 变换。

规范

规范
Scalable Vector Graphics (SVG) 2
# InterfaceSVGTransform

浏览器兼容性