5

Internet Explorer で表示したい SVG ファイルがあります。

IE はベクター ファイルに VML を使用しますが、これら 2 つの形式の間のコンバーターはどこにもありません。(Inkscape、Illustrator、OpenOffice Draw ではありません.....これはどのように可能でしょうか!)

Raphael を調べてみましたが、Raphael は既存のファイルを読み取ることができません。

http://vectorconverter.sourceforge.net/index.htmlを見つけました

しかし、使い方がわかりません...何か助けはありますか?

4

3 に答える 3

3

これを試してください - SVG path to VML Path。基本的に、SVG パスを で使用できる VML パスにv:shape変換します。ただし、SVGpathv:shape手動で変換する必要があります。あなたが試したベクター コンバーターは Web ベースであり、XSLT テンプレートを使用して変換を行いますが、私が提案しているライブラリは純粋な JavaScript と 1 行のコードでそれを行うことができます。お役に立てれば。

于 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 を節約できます。たとえば、 ant の場合:

<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 に答える