Raphael JS - 实时解析SVG

4
我在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哪里查找以进行此更改?

1个回答

2

我进行了一些调整并修复了一个错误。您可以下载新版本。

现在您可以像这样调用解析器:

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);

好的,很棒。非常感谢你的帮助!但这并不完全是我想要的。下面是我对你新的解析器做出的一些更改:http://chrispaul.ws/svgToRaphaelParser.txt 我写出了$attrs ['id'],而不是使用传入组名。 - Chris
这个文件的新版本在哪里? - supertrue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接