山本ワールド
SVGによる線形グラデーションの描画サンプル
線形グラデーションの定義方法
linearGradientの中でstopにより位置と色を複数指定することにより線形グラデーションが使用できます。グラデーションの方向および繰り返し等を指定することができます。
以下に記述例を示します。
以下に記述例を示します。
<svg width="280" height="280" viewBox="-20 -20 140 140" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad2" x1="0%" y1="0%" x2="100%" y2="0%">
<stop id="g3" offset="0%" stop-color="#00ff00" stop-opacity="1"/>
<stop id="g4" offset="100%" stop-color="#ffff00" stop-opacity="1"/>
</linearGradient>
</defs>
<rect x="0" y="0" width="100" height="100" fill="url(#grad2)" />
</svg>
上記の例では、横方向へ緑から黄色のグラデーションを定義し、長方形を描画します。
フォームよりグラデーションの2つの色との割合を指定し実際に描画してみる
矢印がグラデーションの方向を示しています。
グラデーションの繰り返し
以下のソースは20ピクセル置きに緑から黄色のグラデーションを繰り返す例です。
preadMethod="repeat"を指定しています。
preadMethod="repeat"を指定しています。
<svg width="160" height="80" viewBox="-20 -20 160 80" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad3" x1="0" y1="20" x2="20" y2="20" gradientUnits="userSpaceOnUse" spreadMethod="repeat">
<stop offset="0" stop-color="#00ff00" stop-opacity="1"/>
<stop offset="100" stop-color="#ffff00" stop-opacity="1"/>
</linearGradient>
</defs>
<rect x="0" y="0" width="100" height="20" fill="url(#grad3)" />
</svg>
グラデーションの例
薄い金
<linearGradient id="gold1" x1="0%" y1="100%" x2="0%" y2="0%" gradientUnits="userSpaceOnUse" spreadMethod="repeat">
<stop offset="0" stop-color="#967d41" stop-opacity="1"/>
<stop offset="50" stop-color="#f0f0aa" stop-opacity="1"/>
<stop offset="100" stop-color="#967d41" stop-opacity="1"/>
</linearGradient>
銀色
<linearGradient id="s1" x1="0%" y1="100%" x2="0%" y2="0%" gradientUnits="userSpaceOnUse" spreadMethod="repeat">
<stop offset="0%" stop-color="#d2d2d2" />
<stop offset="25%" stop-color="#f0f0f0"/>
<stop offset="75%" stop-color="#aaaaaa" />
<stop offset="100%" stop-color="#fafafa"/>
</linearGradient>
HSV色空間のH(色相)
<linearGradient id="hsv1" x1="0%" y1="0%" x2="100%" y2="0%" gradientUnits="userSpaceOnUse" spreadMethod="repeat">
<stop offset="0%" stop-color="#ff0000" />
<stop offset="16.7%" stop-color="#ffff00"/>
<stop offset="33.3%" stop-color="#00ff00"/>
<stop offset="50.0%" stop-color="#00ffff"/>
<stop offset="66.7%" stop-color="#0000ff"/>
<stop offset="83.3%" stop-color="#ff00ff"/>
<stop offset="100%" stop-color="#ff0000"/>
</linearGradient>
Copyright (C) 2012 山本ワールド All Rights Reserved.