处理 - Illustrator 后无法加载 SVG

red*_*bia 2 processing

我正在尝试在 Hype-Processing 中加载 SVG。您可以通过以下方式做到这一点:

HShape d = new HShape("ruby.svg");
Run Code Online (Sandbox Code Playgroud)

最初它适用于我从网上获得的 SVG。但是,当我在 Illustrator 中对对象进行分组并对一些路径进行分组,并尝试再次加载 svg 时,它会失败。错误在下面的要点中。

Could not parse -1 for --display
Ignoring <style> tag.
parsed: M,161.1,29.8,c,0,-.1,...,0
unparsed: .1.4,11.53,11.53,0,0,0,1.9,4.2,8.8,8.8,0,0,1,.6,1,15.61,15.61,0,0,0,2.6,3.9,1,...,29.8,Z
HYPE.pde:1:0:1:0: RuntimeException: shape command not handled: .1.4
Finished.
Could not run the sketch (Target VM failed to initialize).
Run Code Online (Sandbox Code Playgroud)

我假设错误的原因是我正在使用的 illustrator 的 Creative Cloud 版本。或者是这样,或者可能是分组路径的问题。

有其他人遇到过这个错误吗?如果是的话,你会如何解决它?我正在考虑尝试改变 SVG 代码本身。如果没有,是否有办法确保 illustrator 以向后兼容的状态保存?

注意:我主要想对路径进行分组,以便一些对象基于对称性具有相同的颜色。颜色是随机确定的。

ow3*_*w3n 5

当您使用 Illustrator 保存 SVG 时,它会添加一个<style>标签,以便可以重用类。但是,Processing 不支持此标签,并发出警告:"ignoring style tag"。这有效地删除了草图中的所有颜色,导致形状显示为黑色。最简单的解决方法是在从 Illustrator 保存 SVG 时使用“内联”样式,以便处理可以访问信息。为此,1) 在“SVG 选项”对话框中选择“更多选项”,然后 2) 在 CSS 属性下拉列表中选择“样式属性”。

您可以在文本编辑器中打开 SVG 以确认形状如下所示(其中style是形状的属性):

<polygon style="fill:#87CFC8;" points="18.3,15.2 37.4,4.1 56.6,15.2 37.4,26.2 "/>
Run Code Online (Sandbox Code Playgroud)

这是 Illustrator 中的设置:

插画师截图