Raphael JS - 动态解析 SVG

发布于 2024-09-02 02:18:18 字数 749 浏览 5 评论 0原文

我在 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< /a> 我应该做出这个改变吗?

I found a neat SVG parser at http://bkp.ee/atirip/ which parses an SVG file and outputs it into javascript that uses the Raphael JS library (raphaeljs.com). You'll notice in the source code at 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();
    ...

it creates variables like g1, g2, etc. But it also reuses these variables. I would like to create unique variables for each group. In my .ai file, I have named my groups and I would like to use these names to create the variable names.

Where in http://bkp.ee/atirip/f/svgToRaphaelParser.php.zip should I look to make this change?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痴者 2024-09-09 02:18:18

我做了一些调整并解决了一个错误。您可以下载新版本。

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

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

I made some adjustments and squeezed one bug. You may download the new version.

Now you can call parser like this:

svgToRaphaelParser::parse(filename, containername, canvasname, groupname, shapename)

Without shapename it works like it used to:
svgToRaphaelParser::parse("f.svg", "this", "c", "g") produces code you are already familiar.

To avoid reusing the same names, use different canvas and/or group name for different SVG files.

As a new feature, if you need to access to different shapes, use it like this:

svgToRaphaelParser::parse("f.svg", "this", "c", "g", "s")

Without shapename you receive this:

g1.push(c.path(...));

With shapename you receive this

var s1 = c.path(...);
g1.push(s1);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文