SVG ガウスぼかし

SVG フィルタは <defs> タグ内で定義する必要があります。

ガウスぼかし(Gaussian Blur)

<filter> タグは、グラフィックに適用するフィルタを定義するために使用されます。<filter> タグは、どのフィルタを使用するかを定義するために必須の id 属性を使用しますか?

<filter> タグは <defs> タグ内にネストする必要があります。<defs> タグは definitions の略で、フィルタなどの特別な要素の定義を許可します。

以下のコードをノート帳にコピーして、ファイルを「filter1.svg」として保存してください。このファイルをウェブディレクトリに配置してください:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="Gaussian_Blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" />
</filter>
</defs>
<ellipse cx="200" cy="150" rx="70" ry="40"
style="fill:#ff0000;stroke:#000000;
stroke-width:2;filter:url(#Gaussian_Blur)"/>
</svg>

コード説明:

  • <filter> タグの id 属性は、フィルタにユニークな名前を定義します(同じフィルタが文書の複数の要素で使用できます)
  • filter:url 属性は、要素をフィルタにリンクするために使用されます。フィルタ ID にリンクする場合、# 文字を使用する必要があります
  • フィルタ効果は <feGaussianBlur> タグで定義されます。フィルタには fe 修飾子が使用できます
  • <feGaussianBlur> タグの stdDeviation 属性は、ぼかしの程度を定義できます
  • in="SourceGraphic" この部分は、全体の画像から作成される効果を定義しています

例を見る

別の stdDeviation 値が異なる例

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="Gaussian_Blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="20"/>
</filter>
</defs>
<ellipse cx="200" cy="150" rx="70" ry="40"
style="fill:#ff0000;stroke:#000000;
stroke-width:2;filter:url(#Gaussian_Blur)"/>
</svg>

例を見る