linearGradient
对于 <linearGradient>,gradientUnits 定义了用于 x1、y1、x2 和 y2 属性的坐标系。
| 值 | userSpaceOnUse | objectBoundingBox |
|---|---|
| 默认值 | objectBoundingBox |
| 可动画的 | 是 |
userSpaceOnUse-
此值表示属性值是在当前用户坐标系中定义的。该用户坐标系是在引用渐变元素的时,在该元素(通过
fill或stroke属性引用渐变元素的元素)处存在的用户坐标系,然后应用gradientTransform属性指定的变换。百分比值相对于当前 SVG 视口的尺寸。 objectBoundingBox-
此值表示属性的用户坐标系是使用应用渐变的元素的边界框建立的,然后应用
gradientTransform属性指定的变换。百分比值相对于对象的边界框。
使用此值且
gradientTransform为单位矩阵时,线性渐变的法线在对象边界框空间中垂直于渐变向量(即,抽象坐标系,其中 (0,0) 位于对象边界框的左上角,(1,1) 位于对象边界框的右下角)。当对象的边界框不是正方形时,在对象边界框空间中最初垂直于渐变向量的渐变法线,在用户空间中相对于渐变向量可能不再垂直。如果渐变向量与边界框的某个轴平行,则渐变法线将保持垂直。这种变换是由于从边界框空间到用户空间应用了非均匀缩放变换。
radialGradient
对于 <radialGradient>,gradientUnits 定义了用于 cx、cy、r、fx、fy 和 fr 属性的坐标系。
| 值 | userSpaceOnUse | objectBoundingBox |
|---|---|
| 默认值 | objectBoundingBox |
| 可动画的 | 是 |
userSpaceOnUse-
cx、cy、r、fx、fy和fr表示的值是在当前用户坐标系中定义的。该用户坐标系是在引用渐变元素的时,在该元素(通过fill或stroke属性引用渐变元素的元素)处存在的用户坐标系,然后应用gradientTransform属性指定的变换。 objectBoundingBox-
对于
<radialGradient>:属性cx、cy、r、fx、fy和fr的用户坐标系是使用应用渐变的元素的边界框建立的(参见 Object bounding box units),然后应用gradientTransform属性指定的变换。使用此值且gradientTransform为单位矩阵时,径向渐变的圆环相对于对象边界框空间是圆形的(即,抽象坐标系,其中 (0,0) 位于对象边界框的左上角,(1,1) 位于对象边界框的右下角)。当对象的边界框不是正方形时,在对象边界框空间中概念上呈圆形的圆环,由于从边界框空间到用户空间应用了非均匀缩放变换,渲染时会呈椭圆形。
规范
| 规范 |
|---|
| Scalable Vector Graphics (SVG) 2 # LinearGradientElementGradientUnitsAttribute |
| Scalable Vector Graphics (SVG) 2 # RadialGradientElementGradientUnitsAttribute |
浏览器兼容性
svg.elements.linearGradient.gradientUnits
加载中…
svg.elements.radialGradient.gradientUnits
加载中…