如何减少协调任意SVG路径的数量,而不会损失太多或任何精度?(How do I reduce the

2019-08-04 04:29发布

我淘的工具,程序,实用程序,支持库和代码基元,帮助优化简洁,空间和优雅SVGs近日,从链接到网页的千字节SVG挑战的工具部分 ,但还没有找到很好的图元对焦如何减少道路的坐标数,而不会损失太多 - 或理想的任何 - 精度。

就拿这个标志增加了的版本可口可乐的标志 ,比如( 〜7KB,基本上所有的路径数据 ) -这非常清楚地表明许多承诺减少其贝济耶的数量,给予一定的工具做数学拿出一使用路径更少的节点,同时产生基本上相同的曲线。

对于多边形和折线的更简单的问题(读“全行路径”),你可以使用道格拉斯-普克或Visvalingam的算法(见麦克·博斯托克的优秀D3实施后的)简单地至少删除坐标影响路径的形状直到你满意的大小对配合精度相适应您的需求。

我要寻找的是注意到其中较大的曲线(甚至弧)段可以替代大量的这些冗余中间曲线坐标停止,无需大量的手工调整的等效。 我觉得有些矢量图形包(Adobe Illustrator中,甚至Inkscape中?)可以提供这样的功能(关于如何访问它们的欢迎提示!) - 虽然我很想找到脚本化的工具,我们可以推荐,并提供了如何从使用的HOWTO在命令行,甚至是网络应用程序,即挤出的多余的人路径填充材料。

作为参考, 千字节SVG挑战是为乐趣SVG教育和宣传噱头我已成立,最近。 关于它的所有非的问题,话题的讨论,最好在那里举行,和/或在上面链接了GitHub的仓库。 保持好状况! :)

Answer 1:

您可以使用道格拉斯-普克算法 ,以简化折线或多边形路径。



文章来源: How do I reduce the coordinate count of an arbitrary SVG path, without losing much or any precision?