【发布时间】:2022-11-23 06:23:23
【问题描述】:
我试图探索一个名为svgelements 的用于 SVG 解析的 python 库。还有一个我在任何 SVG 文档中都找不到的不寻常的概念,海豚文件浏览器、firefox 和 gimp 都不能使用它来渲染 svg 文件。 pathd 中有一个 z 解析为坐标并传递给 Path 以创建带有 z_point 的曲线或直线(最后一次移动操作的结束)。所以z与LQTCS一起使用来替换坐标。
它是 SVG 的标准吗?为什么许多其他应用程序不能处理这个?
我已经探索了这段用于路径 d 解析的代码 https://github.com/meerk40t/svgelements/blob/master/svgelements/svgelements.py#L408
有一部分用z作为数字处理
【问题讨论】:
-
如果我没理解错的话,它允许像
M0,0 2,0 Q 1,1 z这样的路径字符串,用0,0代替z,这样闭合路径是贝塞尔曲线,而不是直线? -
@ccprog 是的,这个解析器正是这样做的。所以它将处理
M0,0 2,0 Q 1,1 z为M0,0 2,0 Q 1,1 0,0。但是 librsvg 或 qt 的 qsvgrenderer 都不会处理Q 1,1 z部分。并且在 svgrerequirements 中没有关于此的信息。那么我应该认为这是这个 python 库中的错误吗?