2011-06-18 11 views
4

私はSVGファイルを持っていますが、これはInternet Explorerで表示したいものです。SVGからSVGへ - どのように?

IEはベクターファイルにVMLを使用していますが、どこの2つのフォーマット間でどのような種類のコンバータも見つかりません! (Inkscape、Illustrator、OpenOffice Drawではそうはいかない!)

私はRaphaelを見たが、Raphaelは既存のファイルを読むことができなかった。

私は​​

を見つけましたが、私はそれを使用する方法を...任意の助けを理解することはできませんか?

答えて

2

お試しください - SVG path to VML Path基本的にSVGパスをv:shapeで使用できるVMLパスに変換します。ただし、まだSVGのpathv:shapeに手動で変換する必要があります。あなたが試みたベクトルコンバータは、Webベースであり、変換を行うためにXSLTテンプレートを使用しますが、私が提案しているライブラリは、純粋なjavascriptと単一行のコードで行うことができます。お役に立てれば。あなたがラファエルによって管理されているJSONとして変換図形を選択することができますhttp://www.irunmywebsite.com/raphael/SVGTOHTML_LIVE.php

+0

は有望に見える、私はそれに見ていきます...何のグラフィックスソフトウェアは、両方のフォーマットをサポートしていないだろうと考えていることができない...ということです本当に事件? – Dylan

1

あなたがこのオンラインコンバータを試すことができます。または、ラファエルのインラインで高速ラッピング。

私は個人的に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