我正在尝试将命令行工具(abcm2ps)输出的SVG文件转换为Android矢量可绘制对象,但遇到了问题。
我的过程如下:
我收到错误消息,说找不到某些引用的ID。我查看了XML文件,发现该错误仅发生在再次包含引用的引用中。示例:
<defs
id="defs6633">
<path
id="usharp"
class="fill"
d="m 136,-702 v 890 h 32 v -890 m 128,840 h 32 V -750 H 296 M 64,-464 v 116 l 338,-96 V -560 M 64,-118 V -2 l 338,-98 v -114"
inkscape:connector-curvature="0"
style="fill:currentColor" />
<use
id="sh0"
transform="matrix(0.018,0,0,0.018,-4,5)"
xlink:href="#usharp"
x="0"
y="0"
width="100%"
height="100%" />
</defs>
<use
x="44.5"
y="20"
xlink:href="#sh0"
id="use6635"
width="100%"
height="100%" />
如您所见,对象use6635
引用了sh0
,后者又引用了usharp
。
在其他地方,被引用对象没有引用另一个对象。
这是转换器的已知限制吗?是否有一种方法(最好是命令行工具)可以平整引用层次结构,以便仅引用不引用其他对象的对象?
编辑:好的,先转换为EPS,然后转换为SVG,然后创建SVG,这些SVG将在没有上面警告的情况下进行处理-我现在得到警告,说不支持缩放的笔划宽度...
答案 0 :(得分:1)
您应该尝试Shape Builder,我遇到了一个相关问题,它解决了我的问题,希望对您也有帮助!
答案 1 :(得分:1)
我使用这个简单的工具将SVG文件转换为xml,到目前为止,我从未遇到过任何问题:-)它不是命令行工具,但我认为您可以一次转换许多文件。
答案 2 :(得分:0)
最后几天,我使用此网站取得了不错的效果,将您的文件svg删除,并获得了可绘制的xml代码[https://svg2vector.com/][1]