首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVG转VML -如何?

SVG转VML -如何?
EN

Stack Overflow用户
提问于 2011-06-19 01:05:44
回答 3查看 7K关注 0票数 5

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

IE将VML用于矢量文件,但我在任何地方都找不到这两种格式之间的任何类型的转换器!(不是在Inkscape,Illustrator,OpenOffice Draw.....how是可能的!)

我看过拉斐尔,但拉斐尔不能读取现有文件。

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

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

EN

回答 3

Stack Overflow用户

发布于 2011-06-27 21:31:07

试试这个- SVG path to VML Path。它基本上将SVG path转换成VML path,可以在v:shape.However中使用,你仍然需要手动将SVG的path转换成v:shape。您尝试的向量转换器是基于web的,使用XSLT模板进行转换,而我建议的库可以使用纯javascript和单行代码完成转换。希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2011-09-03 17:47:41

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

您可以在转换为JSON的形状之间进行选择,这些形状由拉斐尔管理。或者用拉斐尔进行内联更快的包装。

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

代码语言:javascript
复制
    Raphael(json);  //create a new paper with the shapes

或者,如果您想要在现有的图纸上绘制:

代码语言:javascript
复制
    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。以ant为例:

代码语言:javascript
复制
<replaceregexp match="\s?([CML])\s?" replace="\1" flags="g" file="drawings.json"/>
票数 1
EN

Stack Overflow用户

发布于 2012-01-19 05:23:22

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

代码语言:javascript
复制
<?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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6397549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档