SVG - 优化“d”值

时间:2017-03-14 12:13:44

标签: svg

使用SVG文件,从Illustrator CS6 Extended。

导出

https://jsfiddle.net/ustn9zp4/

SVG还可以,但主要是我要更改“d”值,更像是这样:

d="M0 0L0 18.8 141.8 4.1 283.5 18.8 283.5 0z"

尝试尽可能优化它,不知道如何做到这一点。 如果有人会指出我该怎么做,将会感激不尽。

2 个答案:

答案 0 :(得分:3)

在保存对话框中选择more options,然后选择1个小数位。

Illustrator settings

答案 1 :(得分:3)

根据您的路径数据,可以进行多项优化。 Duopixel的答案是最简单,最有效的尺寸缩小。我接受了他的回答。但是,您可以将其他一些转换应用于可能有用的路径数据。您需要在每个命令的基础上尝试所有这些变体,看看它们是否节省了一两个字节:

  • 对于多边形/折线,省略初始L;它是在M命令后隐含的,如果您的第一个X坐标为负,则可以保存一个字节。

    Old: M0,0L-7,10
    New: M0,0-7,10
    
  • 对于多边形/折线,请使用HV命令替换水平和垂直线段。

    Old: L10,20 10,30 20,30
    New: L10,20H30V20
    
  • 对于大多数命令,请使用相对版本替换命令的绝对版本。根据您的数字值和点变化,可能会导致较小的数字(保存几个字节)。

    Old: L120,200 127,208
    New: L120,200l7,8
    
  • 对于立方C和二次Q曲线,其中'处理'在整个点上进行镜像,替换为速记(ST)版本。

上述所有内容都不能用作Illustrator中的导出选项(但根据版本,可能默认执行某些操作)。它们通常需要对路径数据进行自定义代码分析。为此,您可能对svg-parser JavaScript库感兴趣。我写了一个produces path data from the parse results的小型一次性函数;通过自己操纵解析结果并反复调用它,你可以实现上述。