externalResourcesRequired

Scalable Vector Graphics等,不定期

linearGradient

2007-01-08 | 仕様
linearGradient要素は、直線のグラデーションを定義する際に使われます。

linearGradient要素によって、ある色から別の色へ連続的に変化する直線のグラデーションが定義されます。
記述されているだけでは描かれず、fillやstrokeプロパティの値として参照されることで参照した図形の色となります。
パラメータとして、グラデーションを示すベクトル(gradient vector)、ベクトルの座標系を指定します。

gradient vectorの始点のx座標を指定する属性がx1、y座標を指定する属性がy1です。
gradient vectorの終点のx座標を指定する属性がx2、y座標を指定する属性がy2です。
gradient vectorの座標系を指定する属性がgradientUnitsです。

利用する色は子のstop要素で指定します。

gradientUnits属性の値は、"userSpaceOnUse"と"objectBoundingBox"です。
"userSpaceOnUse"の場合は、グラデーションが参照された時点の座標系になります。
"objectBoundingBox"の場合は、グラデーションを参照した図形を包含する矩形領域の左上の頂点を(0,0)、右下の頂点を(1,1)とする座標系になります。

例えば、
<linearGradient xml:id="gradient00" x1="0" y1="0" x2="1" y2="0"/>
のように書けば、gradient vectorは、グラデーションを参照した図形を包含する矩形領域の左上の頂点を(0,0)、右下の頂点を(1,1)とする座標系の(0,0)から(1,0)になります。すなわち、水平方向に色が変化するグラデーションとなります。

x1属性とx2属性に指定された値が等しく、かつ、y1属性とy2属性に指定された値が等しい場合は、全体が最後に指定された色になります。すなわち、単色となります。

グラデーションの領域が、参照した図形の領域よりも狭かった場合は、残りの部分はグラデーションの端と同じ色になります。

x1属性、y1属性およびy2属性は指定されない場合は"0"として扱われます。
同様に、x2属性は指定されない場合は"1"として扱われます。
x1属性、y1属性、x2属性およびy2属性が全て指定されない場合は、gradient vectorの始点は(0,0)、終点は(1,0)になります。
gradientUnits属性は指定されない場合は"objectBoundingBox"として扱われます。すなわち、グラデーションを参照した図形を包含する矩形領域の左上の頂点を(0,0)、右下の頂点を(1,1)とする座標系になります。