externalResourcesRequired

Scalable Vector Graphics等,不定期

image

2006-10-31 | 仕様
image要素は、他の画像ファイルの内容を描く際に使われます。

image要素によって、他の画像ファイルの内容が参照され指定された矩形領域に描かれます。
SVG Tiny 1.2ではimage要素はラスタ形式の画像ファイルを参照します。SVG Tiny 1.2に準拠したビューアはPNGおよびJPEG形式をサポートします。SVG形式のファイルを参照する場合はanimation要素を利用します。
パラメータとして、参照する画像ファイルのIRIと参照した画像ファイルの内容を描く矩形の左上の頂点(x軸y軸ともに値の小さくなる頂点)と幅、高さ等を指定します。

参照する画像ファイルのIRIを指定する属性がxlink:href、画像のメディアタイプを示す属性がtypeです。
参照した画像ファイルの内容を描く矩形の左上の頂点のx座標を指定する属性がx、y座標を指定する属性がy、幅を指定する属性がwidth、高さを指定する属性がheightです。
ビューボックスとビューポートとの関係を指定する属性がpreserveAspectRatioです。

例えば、
<image xlink:href="sample.png" x="10" y="10" width="100" height="100"/>
のように書けば、sample.pngの内容が左上の頂点が(10,10)、幅100、高さ100の矩形の領域に描かれます。
image要素は新しいビューポートを確立します。ビューポートの領域に参照される画像ファイルのビューボックスの領域をあてはめます。ビューボックスの領域はラスタ画像の全体になります。
例えば、sample.pngの内容が200×200ピクセルの画像であれば、縮小されて描かれます。

x属性およびy属性は指定されない場合は0として扱われます。すなわち、参照する画像ファイルの内容を描く矩形の左上の頂点のx座標(あるいはy座標)が0ということです。
width属性およびheight属性は必ず指定する必要があります。どちらかを0にすると何も描画されません。また、負の値を指定してはいけません。
xlink:href属性は指定されない場合は空の値("")として扱われます。空の値が指定された場合には何も描画されません。

image要素の処理結果は4チャンネルRGBAとなります。参照される画像が3チャンネルRGBの場合には不透明度を一様に1とする4チャンネルRGBAに変換されます。
不透明度を指定する場合はfill-opacity属性ではなく、opacity属性を利用します。
表示領域外の画像ファイルをあらかじめ読み込んでおくのか、あるいは必要になってから読み込むのかは定められていません。あらかじめ読み込むめの手がかりを与えたい場合にはprefetch要素を利用します。