使用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"
尝试尽可能优化它,不知道如何做到这一点。 如果有人会指出我该怎么做,将会感激不尽。
答案 0 :(得分:3)
答案 1 :(得分:3)
根据您的路径数据,可以进行多项优化。 Duopixel的答案是最简单,最有效的尺寸缩小。我接受了他的回答。但是,您可以将其他一些转换应用于可能有用的路径数据。您需要在每个命令的基础上尝试所有这些变体,看看它们是否节省了一两个字节:
对于多边形/折线,省略初始L
;它是在M
命令后隐含的,如果您的第一个X坐标为负,则可以保存一个字节。
Old: M0,0L-7,10
New: M0,0-7,10
对于多边形/折线,请使用H
和V
命令替换水平和垂直线段。
Old: L10,20 10,30 20,30
New: L10,20H30V20
对于大多数命令,请使用相对版本替换命令的绝对版本。根据您的数字值和点变化,可能会导致较小的数字(保存几个字节)。
Old: L120,200 127,208
New: L120,200l7,8
对于立方C
和二次Q
曲线,其中'处理'在整个点上进行镜像,替换为速记(S
和T
)版本。
上述所有内容都不能用作Illustrator中的导出选项(但根据版本,可能默认执行某些操作)。它们通常需要对路径数据进行自定义代码分析。为此,您可能对svg-parser JavaScript库感兴趣。我写了一个produces path data from the parse results的小型一次性函数;通过自己操纵解析结果并反复调用它,你可以实现上述。