我在http://bkp.ee/atirip/找到了一个简洁的SVG解析器,它解析SVG文件并将其输出到使用Raphael JS库(raphaeljs.com)的javascript中。您会在http://bkp.ee/atirip/svg2rdemo.php的源代码中注意到:
<script>
jQuery(document).ready( function() {
$("#c1").each(function(){
var c = Raphael(this, 190, 154, 0, 0);
var g1 = c.set();
...
它会创建像g1,g2等变量。但它也会重用这些变量。我想为每个组创建唯一的变量。在我的.ai文件中,我已经命名了我的组,我想使用这些名称来创建变量名。
我应该在http://bkp.ee/atirip/f/svgToRaphaelParser.php.zip中进行哪些更改?
答案 0 :(得分:2)
我做了一些调整并挤了一个bug。您可以下载新版本。
现在你可以像这样调用解析器:
svgToRaphaelParser::parse(filename, containername, canvasname, groupname, shapename)
没有shapename,它的工作原理如下:
svgToRaphaelParser::parse("f.svg", "this", "c", "g")
生成您已熟悉的代码。
为避免重复使用相同的名称,请为不同的SVG文件使用不同的画布和/或组名。
作为一项新功能,如果您需要访问不同的形状,请按以下方式使用:
svgToRaphaelParser::parse("f.svg", "this", "c", "g", "s")
如果没有shapename,你会收到:
g1.push(c.path(...));
使用shapename,您会收到此
var s1 = c.path(...);
g1.push(s1);