我正在实现 SVG Tiny 1.1,但我无法理解“用户单元”的概念。
SVG 1.1 规范将每个没有指定单位(例如“mm”、“cm”、“pt”等)的 定义为“用户单位”。
在实现“SVGLength”接口时,我遇到了4个与长度值相关的属性;value
, unityType
, valueInSpecifiedUnit
, valueAsString
。最后 3 个属性对我来说已经足够清楚了。
-
valueInSpecifiedUnit
是单位类型unitType
.
-
valueAsString
equals valueInSpecifiedUnit
+unitType
的字符串值。例如:“10毫米”
然而,属性value据说是在用户单位。所以我的问题是:
- 什么是“用户单位”?
- 如何从“用户单位”转换为“绝对单位”,例如毫米(mm)?
Regards,
规格says http://www.w3.org/TR/SVG/intro.html#TermUserUnits:
用户单位
以用户单位表示的坐标值或长度
表示当前用户坐标中的坐标值或长度
系统。因此,10 个用户单位代表 10 个单位的长度
当前用户坐标系。
Also:
如果最外面的 svg 元素上的“width”或“height”属性采用用户单位
(即,未提供单位标识符),则该值被假定为等效
相同数量的“px”单位
这意味着用户单位是最外层 svg 元素的 width 和 height 属性中指定的单位,如果未指定,则用户单位是像素。
阅读有关 SVG 中单位的部分 http://www.w3.org/TR/SVG/coords.html#Units.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)