2011-05-08 7 views
2

これがなぜ必要なのか不思議であれば、もっと気軽にお問い合わせください。問題。 (これは、建物の平面図をキャンパスマップ上にレイアウトし、それらの建物地図にある特定のものの絶対的な位置を見つけることを含みます)。<image xlink:href = "something.svg" />に相当する<svg>を書く

短いバージョンが必要です<イメージxlink:href = "something.svg"/>の参照を持つSVGファイルを1つの大きなファイルにまとめて、参照された各SVGに<svg>とインラインSVG XMLコンテンツが埋め込まれているようにします。

ので、(Inkscapeの中で構成されている)私のトップレベルのソースファイルは次のようになります。だから、

<svg x="2507.1565" y="-1937.7657" width="165.52684" height="107.10559" 
transform="matrix(0,1,-1,0,0,0)" viewBox="0 0 1224 792"> 
<g id="surface0"> 
<path style="fill:none;stroke-width:0.72;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);... 

<image xlink:href="floorplans/bldg1.svg" 
width="165.52684" height="107.10559" y="-1937.7657" 
x="2507.1565" transform="matrix(0,1,-1,0,0,0)" /> 

そして、すべてのベクトルデータをインライン化するためにマージされたバージョンでの私の試み基本的には、<イメージ>を<svg>に置き換えて、 "floorplans/bldg1.svg"のルート<svg>の内容を貼り付けるスクリプトを使用しています。 (コピーは<SVG>に<画像>から属性、および新しいものに元<SVG>からビューボックスの属性をコピーする。)

は、この技術は回転しないもののために働いたが、Chromeはいるようですこの特定の要素がビューポートの一番上にないことを言います。私はSVGを初めて使っていますが、<の画像>にあるように、変換の順序は svg >と同じではないと考えています。画像xlink:href = "something.svg" transform = .../> <svg>インラインXMLで画像を変換するのにもっと関与していますか?

ありがとうございました。

答えて

2

変換属性は、SVG仕様に従って< svg>要素には適用されません。代わりに<のimage>要素にある変換を< g>要素の外側または内側に置くことができます。

このように動作する変換の理由は、<要素が座標系を設定し、変換がそれに依存するということです(適用された場合に生じる問題は、「変換が座標 - 空間の前または後にsvg座標系が設定されていますか? ")

+0

ああ、私はそれについて考えなかったし、それをよく読んでいたが、あなたは正しい。 を変換に加えて、をラップして、今見ています。ありがとう! –

関連する問題