这是最好的SVG到NSBezierPath库/类



我正在寻找最好的SVG到NSBezierPath解析器,如果类/库只需要一串SVG命令,这是可以的,这里是一个例子:

M 435.722 403.542 h -232.44 v -293 h 232.44 c 0 0 0 35.108 0 81.019 c 0.049 2.551 0.079 5.135 0.154 7.748 c -0.208 15.567 12.1 13.618 19.624 28.192 c 2.584 5.005 5.875 30.5 4.875  34.5 c -7 19 -28.707 22.875 -24.653 44.854 c 0 2.667 0 5.31 0 7.923 C 435.722 364.425 435.722 403.542 435.722 403.542 z

类/库不必解析. SVG文件本身,但它应该能够处理所有SVG命令并支持相对坐标和绝对坐标(换句话说,它应该与此处找到的SVG 1.1规范完全兼容)。

我在网上找到了一些类,但它们都是有限的,并且在上面的svg命令中失败了。哪一个是最好的SVG到NSBezierPath解析器?

编写程序,使用XML解析器解析SVG文件。

这将给你一个路径数组,你可以把它一个一个地输入到下面的代码中:

https://www.touchnoc.com/one_way_ticket_from_svg_to_nsbezierpath

**请务必在上面的页面中查找iOS的代码。

但是,上面的代码只适用于绝对路径坐标,不适用于相对路径坐标。Adobe Illustrator只输出相对路径坐标。您可以在sketch (http://www.bohemiancoding.com/sketch/)程序中从illustrator中打开svg,并导出svg将为您提供绝对路径坐标的文件。

你的路径失败可能是因为他们使用相对坐标-小c,其中大多数脚本我发现可以转换绝对,或大c。

就这样了。整个过程并不容易,但却是可行的!这是我的经验之谈。

我不认为这样的东西是可用的。

但是您应该能够自己很容易地解析它,因为这些命令直接映射到NSBezierPath方法。

命令出现在前面也很有帮助,因此您可以执行以下操作:

  • 被空格分隔成数组
  • 获取第一个元素并映射到命令
  • 将下一个x元素作为参数(x根据命令已知)
  • NSBezierPath
  • 上调用匹配方法

如果字符串很长,也可以按流解析。

相关内容

  • 没有找到相关文章

最新更新