处理 - 在Illustrator之后无法加载SVG

时间:2016-06-14 11:59:16

标签: processing

我试图在Hype-Processing中加载SVG。你可以通过陈述:

来做到这一点
HShape d = new HShape("ruby.svg");

最初它适用于我从在线获得的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).

我假设错误的原因,是我正在使用的插图画家的Creative Cloud版本。这可能是分组路径的问题,也可能是问题。

有没有其他人有这个错误,如果是这样你会如何解决?我正在考虑尝试改变SVG代码本身。 如果没有,那么确保插图画家保持向后兼容状态?

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

3 个答案:

答案 0 :(得分:4)

使用Illustrator保存SVG时,它会添加<style>标记,以便重用类。但是,Processing不会支持此标记,并会发出警告:"ignoring style tag"。这有效地从草图中删除了所有颜色,从而使形状显示为黑色。最简单的解决方法是使用&#34; in-line&#34;从Illustrator保存SVG时的样式,以便Processing可以访问该信息。要做到这一点1)选择&#34;更多选项&#34;在SVG选项对话框中,然后2)选择&#34;样式属性&#34;在drop CSS Properties下拉列表中。

您可以在文本编辑器中打开SVG以确认形状看起来像这样(其中style是形状的属性):

<polygon style="fill:#87CFC8;" points="18.3,15.2 37.4,4.1 56.6,15.2 37.4,26.2 "/>

以下是Illustrator中的设置:

illustrator screenshot

答案 1 :(得分:0)

找到解决方案:

导出时看似插图画家保存SVG的方式与仅使用SAVE时略有不同。使用导出会产生上述问题,因此无法将SVG加载到Hype中。但保存它,似乎没有问题!

答案 2 :(得分:0)

我刚才遇到了这个问题。我改变了三件事,现在再次起作用了:

  1. 保存为SVG-Version 1.1
  2. 未选中&#34;使用切片&#34;
  3. 选择&#34;样式属性(实体)&#34; for CSS-Style
  4. 希望这有帮助!