SVG 径向拡散

SVG 放射状グラデーション - <radialGradient>

<radialGradient> タグは放射状のグラデーション(放射状グラデーション)を定義するために使用されます。

<radialGradient> 要素は <defs> タグ内。<defs> 要素(definitions)は定義の略称で、特殊な要素(例えばフィルタ)の定義を含みます。

例1

白色から青への放射状のグラデーションを持つ楕円を定義します:

これは SVG コードです:

<svg height="150" width="500">
  <defs>
    <radialGradient id="grad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255); stop-opacity:0" />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>

自分で試してみる

コードの説明:

  • <radialGradient> タグの id 属性はグラデーションのユニークな名前を定義します
  • cx、cy、および r 属性は最外層の円を定義し、fx と fy は最内層の円を定義します
  • グラデーションの色範囲は2色以上の色で構成できます。各色は <stop> タグで指定されます
  • offset 属性はグラデーション色の開始と終了位置を定義します
  • fill 属性は楕円要素をグラデーションにリンクします

例2

別の楕円を定義し、白色から青への放射状のグラデーションを持たせます:

これは SVG コードです:

<svg height="150" width="500">
  <defs>
    <radialGradient id="grad2" cx="20%" cy="30%" r="30%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255); stop-opacity:0" />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad2)" />
</svg>

自分で試してみる