1

我正在尝试使用SVGKit(看起来是一个很棒的工具!)来渲染包含比简单矩形或圆形更复杂的文件。我首先尝试从 SVGKit 示例中模仿 SVG (XML),我注意到 Illustrator (CS4) 导出的 SVG 有点不同。

  • <path ... />来自 Illustrator的开放标签与来自示例<path ... ></path>的封闭标签。然而,这被证明是无关紧要的。

  • Illustrator 中的相对curveto( )与 SVGKit 示例中c的绝对curveto( )。C


  1. 我尝试将示例中的几个路径的 SVG 复制到 Illustrator 生成的 SVG 文件中。
  2. 但是,在 Illustrator 中打开并将新复制的对象移动到新的 (x,y) 位置后,curveto命令似乎已从绝对 ( C) 更改为相对 ( c)(因此包括负值)。

这些不再在 SVGKit 中呈现。(实际上它们会导致 EXC_BAD_ACCESS 错误和 Core Graphics 抛出错误)。

长话短说,有没有什么好方法可以强制 Illustratorcurveto在其 SVG 中保留绝对命令?或者防止它显着改变简单移动的形状上的 SVG 命令?

4

1 回答 1

1

简短的回答:在 2011 年 12 月,SVGKit 对大多数 SVG “不起作用”。

你描述的所有东西都在今年年初得到了修复,现在它越来越接近符合规范了。

此外... 一个大的变化即将到来,更简单/更易于使用的 API(更接近 SVG 规范)。您可以在这里尝试一下:https ://github.com/adamgit/SVGKit/tree/transforms - 但该分支目前正在“开发中”。它非常稳定,但有时会得到实验性提交。

于 2012-07-30T14:27:15.343 回答