5

我有一个 SVG 文件,我想在 Internet Explorer 中查看。

IE 使用 VML 处理矢量文件,但我在任何地方都找不到这两种格式之间的任何类型的转换器!(不在 Inkscape、Illustrator、OpenOffice Draw 中……这怎么可能!)

我看了看 Raphael,但 Raphael 无法读取现有文件。

我找到了http://vectorconverter.sourceforge.net/index.html

但我不明白如何使用它......有什么帮助吗?

4

3 回答 3

3

试试这个 - SVG 路径到 VML 路径。它基本上将 SVG 路径转换为可用于 .v:shape但是您仍然必须手动将 SVGpath转换为 VML 路径。v:shape您尝试过的矢量转换器是基于 Web 的,并使用 XSLT 模板进行转换,而我建议的库可以使用纯 javascript 和单行代码来完成。希望这可以帮助。

于 2011-06-27T13:31:07.280 回答
1

你可以试试这个在线转换器:http ://www.irunmywebsite.com/raphael/SVGTOHTML_LIVE.php

您可以选择转换为由 Raphael 管理的 JSON 的形状。或者使用 Raphael 进行内联和更快的包装。

我个人更喜欢 JSON 方法。您可以随意将内容放在外部文件和ajax图纸上。接下来,您将使用以下任一方法绘制形状:

    Raphael(json);  //create a new paper with the shapes

或者,如果您想在现有论文上绘图:

    function drawJson(items, paper) {
        var set = paper.set(),
            l = items.length;

        for (i = 0; i < l; i++) {
            set.push(paper[items[i].type]().attr(items[i]));
        }

        return set;
    }

您可以将最后一个函数放在 Raphael 插件中。

注意:您可以通过删除转换后的路径中的一些空格来节省一些 kb。例如蚂蚁:

<replaceregexp match="\s?([CML])\s?" replace="\1" flags="g" file="drawings.json"/>
于 2011-09-03T09:47:40.723 回答
0

LibreOffice可以读取从 Word 文档导入的 VML。您还可以下载和调整SVG=>VML XSLT并在 IE 中进行测试,如下所示:

<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" media="application/xml" charset="UTF-8" href="svg2vml.xml"?>
<svg>
  <rect x="25" y="25" width="150" height="200" style="stroke:#AABBFF; stroke-width:1; fill:#AABBFF"/>
  <ellipse cx="100" cy="120" rx="50" ry="75" style="stroke:#FF0000; stroke-width:4; fill:#AABBFF"/>
</svg>
于 2012-01-18T21:23:21.687 回答