2011-06-18 104 views
4

我有一个SVG文件,我想在Internet Explorer中查看。SVG到VML - 怎么样?

IE浏览器使用VML作为矢量文件,但我无法在任何地方找到这两种格式之间的任何一种转换器! (不在Inkscape,Illustrator,OpenOffice Draw ......这怎么可能!)

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

我发现​​

但我不知道如何使用它...任何帮助吗?

回答

2

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

+0

看起来很有希望,我会考虑它...不能相信任何图形软件将支持这两种格式是......真的是这样吗? – Dylan

1

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

可以转换为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; 
    } 

你可以把最后一个函数在拉斐尔插件。

注意:您可以通过删除转换路径中的一些空格来保存一些kb。以蚂蚁为例:

<replaceregexp match="\s?([CML])\s?" replace="\1" flags="g" file="drawings.json"/> 
0

LibreOffice可以读取从Word文档导入的VML。您也可以在IE浏览器这样的下载和调整的SVG=>VML XSLT并对其进行测试:

<?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> 
+0

LibreOffice对于各种各样的事物来说是非常有用的。 – superluminary