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的哪个位置进行更改?

4

1 回答 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);
于 2010-05-18T09:44:15.350 回答