src
私はsvgファイルを次のようなHTMLimg
要素のとして設定できることを知っています:
<img src="mySVG.svg"/>
しかし、どういうわけか動的SVG要素をのとして設定できsrc
ますimg
か?
<svg id="mySVGElement">
...
</svg>
<img src="?"/>
これはJavaScriptで実行できます。
var svg = document.querySelector('svg'),
img = document.querySelector('img');
setImageToSVG(img,svg);
function setImageToSVG(img,svg){
var xml = (new XMLSerializer).serializeToString(svg);
img.src = "data:image/svg+xml;charset=utf-8,"+xml;
}
SVG要素が動的(変更中)の場合、SVG要素が変更されるたびにこのコードを再実行する必要があります。
または、別の<svg>
要素を使用して最初のライブを参照する、@Robertの回答を示すデモを次に示します。
<svg id="src" xmlns="http://www.w3.org/2000/svg" …>
<!-- Your SVG here -->
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:x="http://www.w3.org/1999/xlink" …>
<use x:href="#src" x="80" y="30" width="100" height="100" />
</svg>
デモでは、参照されたSVGドキュメントのサイズを変更したり変換したりできること、および参照がライブであることが示されています。元のドキュメントへの変更はすぐにに反映されます<use>
。