1. ホーム
  2. image

[解決済み] SVGはビットマップイメージの埋め込みに対応していますか?

2022-05-06 19:26:07

質問

SVG画像は純粋なベクトル画像ですか、それともビットマップ画像を組み合わせてSVG画像にすることができますか? ビットマップ画像に適用される変換(遠近法、マッピングなど)についてはどうでしょうか?

編集 : 画像はリンク参照により SVG に含めることができる。参照 http://www.w3.org/TR/SVG/struct.html#ImageElement . 私の質問は、ビットマップ画像をsvgの中に入れて、svg画像を自己完結させることができるのかということです。そうでなければ、svg画像が表示されるたびに、リンクをたどって画像をダウンロードしなければなりません。どうやら.svgファイルは単なるxmlファイルであるようです。

解決方法は?

そうです。 image 要素を使用します。また データURI を使えば、SVGを自己完結させることができます。一例を挙げると

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">

    ...
    <image
        width="100" height="100"
        xlink:href="data:image/png;base64,IMAGE_DATA"
        />
    ...
</svg>

svg 要素属性 xmlns:xlink を宣言しています。 xlink として 名前空間接頭辞 で、定義がどこにあるのかを示しています。そうすると、SVGリーダーは を知ることができます。 xlink:href とは .

IMAGE_DATA は、画像データをBase64エンコードしたテキストとして追加する場所です。SVGをサポートするベクターグラフィックエディターには、通常、画像を埋め込んで保存するためのオプションがあります。それ以外でも、バイトストリームをbase64でエンコードするツールはたくさんあります。

以下は、完全な SVG テストスイートから。