SVG路径d属性是否有z替代坐标的约定?svgelements库疑问
SVG路径中用
z替代坐标值的用法疑问解答 这绝对不是SVG标准用法。SVG官方规范里,
z(大小写均可)是专门的闭合路径指令,作用只有一个:结束当前子路径,把路径末端连回该子路径的起始点。它根本不能被当作坐标参数,给L、Q、T、C、S这些需要坐标的指令使用——规范里明确要求这些指令的参数必须是合法数值(比如整数、浮点数、百分比等),z作为指令字符完全不在参数的合法范围内。多数工具无法处理的核心原因:
- 主流的SVG渲染/解析工具(比如Firefox、GIMP、Dolphin)都是严格遵循SVG标准实现的,遇到
z只会按闭合指令处理,根本不会把它当成坐标值解析,自然无法识别这种非标准写法。 - 这种用法是svgelements库自己加的自定义扩展,属于该库为了特定场景(比如内部路径编辑)搞的私有逻辑,不是通用SVG生态支持的特性。
- 主流的SVG渲染/解析工具(比如Firefox、GIMP、Dolphin)都是严格遵循SVG标准实现的,遇到
额外说明:从你提到的svgelements代码片段能看出来,这个库在解析路径
d属性时,额外做了把z映射到z_point(上一次移动操作的终点)的处理,这是库独有的逻辑,不具备通用性。如果要生成能被大多数工具正常渲染的SVG,一定要避免这种写法,改用标准的坐标数值或者合法指令。
内容的提问来源于stack exchange,提问作者Milana
相关产品推荐
相关产品推荐

