我正在尝试获取SVGKit(看起来像一个很棒的工具!)来渲染包含比简单矩形或圆形更复杂的文件。我开始尝试从SVGKit样本中模仿SVG(XML),我注意到Illustrator(CS4)导出的SVG有点不同。
从Illustrator中打开<path ... />
个代码,从样本中打开已关闭的<path ... ></path>
代码。但事实证明这无关紧要。
Illustrator中的相对curveto
(c
)与来自SVGKit样本的绝对curveto
(C
)。
curveto
命令已从绝对(C
)更改为相对(c
)(因此包括负值)。这些不再在SVGKit中呈现。 (实际上它们会导致EXC_BAD_ACCESS错误并且Core Graphics会抛出错误。)
长话短说,有没有什么好方法可以强制Illustrator在其SVG中保留绝对curveto
命令?或者是为了防止在简单移动的形状上显着改变SVG命令?
答案 0 :(得分:1)
简短回答:2011年12月,SVGKit对大多数SVG来说“无法正常工作”。
你描述的所有东西都在今年早些时候得到修复,现在它更接近于符合规范。
此外......即将推出更简单/更易于使用的API(更接近SVG规范)。你可以在这里试试:https://github.com/adamgit/SVGKit/tree/transforms - 但那个分支目前正在“开发中”。它非常稳定,但有时会得到实际的提交。