属性 | |
id | フィルタ名 |
属性 | |
stdDeviation |
ぼかしの幅 "x y"のように、縦横方向で異なるぼかし幅を指定できる。 |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Blur"> <feGaussianBlur stdDeviation="1"/> </filter> <circle cx="50" cy="50" r="20" fill="green" filter="url(#Blur)"/> </svg> |
属性 | |
dx | X方向の移動量 |
dy | Y方向の移動量 |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Offset" filterUnits="userSpaceOnUse"> <feOffset dx="-5" dy="10"/> </filter> <circle cx="50" cy="50" r="20" stroke-width="1" stroke="purple" fill="none"/> <circle cx="50" cy="50" r="20" stroke-width="1" stroke="red" fill="none" filter="url(#Offset)"/> </svg> |
属性 | |
type |
演算の種類 matrix:RGBAを変換する5行×4列の行列 saturate:彩度 hueRotate:色相回転 |
values |
演算の設定値 matrixは、次の行列の各値に0〜1の範囲の係数を指定する。values = " a00 a01 a02 a03 a04 a10 a11 a12 a13 a14 a20 a21 a22 a23 a24 a30 a31 a32 a33 a34" 元のグラフィックのピクセルが「R、G、B、A」の各値(0〜100%)であるとき、変換により出力する各色「R'、G'、B'、A'」は次の式で導かれる。 R' = a00*R + a01*G + a02*B + a03*A + a04 G' = a10*R + a11*G + a12*B + a13*A + a14 B' = a20*R + a21*G + a22*B + a23*A + a24 A' = a30*R + a31*G + a32*B + a33*A + a34 「R'、G'、B'、A'」は0〜1の範囲とする(1以上は1に切り捨てられる)。 saturateは0~1(0 はモノクロ)、hueRotateは回転角の0~360で指定。 |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Matrix"> <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0"/> </filter> <filter id="Saturate"> <feColorMatrix type="saturate" values="0.2"/> </filter> <filter id="HueRotate"> <feColorMatrix type="hueRotate" values="180"/> </filter> <circle cx="50" cy="30" r="15" stroke-width="3" stroke="blue" fill="orange"/> <circle cx="20" cy="70" r="15" stroke-width="3" stroke="blue" fill="orange" filter="url(#Matrix)"/> <circle cx="50" cy="70" r="15" stroke-width="3" stroke="blue" fill="orange" filter="url(#Saturate)"/> <circle cx="80" cy="70" r="15" stroke-width="3" stroke="blue" fill="orange" filter="url(#HueRotate)"/> </svg> |
属性 | |
xlink:href |
画像ファイル 名前空間「xmlns:xlink="http://www.w3.org/1999/xlink"」の宣言が必要。 |
x y | 画像の座標 |
width height | 画像の幅・高さ |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <filter id="Image"> <feImage xlink:href="imagecountach.jpg" x="0" y="0" width="100" height="100"/> </filter> <rect x="20" y="20" width="60" height="60" fill="none" filter="url(#Image)"/> <rect x="20" y="20" width="60" height="60" stroke-width="2" stroke="yellow" fill="none"/> </svg> |
属性 | |
x y | 画像の座標 |
width height | 画像の幅・高さ |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <filter id="Tile"> <feImage xlink:href="imagecountach.jpg" x="0" y="0" width="50" height="50"/> <feTile x="0" y="0" width="100" height="100"/> </filter> <rect x="20" y="20" width="60" height="60" fill="none" filter="url(#Tile)"/> </svg> |
属性 | |
flood-color | 塗りつぶす色 |
flood-opacity | 塗りつぶす色の不透明度 |
x y | 画像の座標 |
width height | 画像の幅・高さ |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Flood"> <feFlood flood-color="navy" flood-opacity="0.3" x="0" y="0" width="100" height="100"/> </filter> <rect x="20" y="20" width="60" height="60" stroke="yellow" stroke-width="1" fill="none"/> <rect x="20" y="20" width="60" height="60" filter="url(#Flood)"/> </svg> |
属性 | |
type |
変換関数 linear:線形 gamma:ガンマ補正 |
slope | 一次関数傾き(linear) |
intercept | 一次関数切片(linear) |
amplitude | ガンマ増幅率(gamma) |
exponent | ガンマ補正指数(gamma) |
offset | オフセット(gamma) |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <filter id="ComponentTransfer"> <feImage xlink:href="imagekyoto.jpg" x="50" y="50" width="50" height="50"/> <feComponentTransfer> <feFuncR type="linear" slope="-1" intercept="1"/> <feFuncG type="linear" slope="-1" intercept="1"/> <feFuncB type="linear" slope="-1" intercept="1"/> </feComponentTransfer> </filter> <image xlink:href="imagekyoto.jpg" x="0" y="0" width="50" height="50"/> <rect x="50" y="50" width="50" height="50" filter="url(#ComponentTransfer)"/> </svg> |
属性 | |
type |
関数の種類 fractalNoise:ノイズ関数 turbulence:ゆらぎ関数 |
baseFrequency | 関数の周波数(0~1 未満) |
seed | 乱数のシード(デフォルトは 0) |
numOctaves | テクスチャーの細かさ(1~) |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Turbulence"> <feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2" seed="1"/> </filter> <rect x="20" y="20" width="60" height="60" filter="url(#Turbulence)"/> </svg> |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="BlurSaturate"> <feGaussianBlur stdDeviation="2"/> <feColorMatrix type="saturate" values="0.4"/> </filter> <circle cx="50" cy="50" r="20" stroke-width="1" fill="green" filter="url(#BlurSaturate)"/> </svg> |
属性 | |
in | 重ね合わせるフィルタの結果result、またはSourceGraphic |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Merge"> <feOffset dx="3" dy="3" result="offsetout"/> <feMerge> <feMergeNode in="offsetout"/> <feMergeNode in="SourceGraphic"/> </feMerge> </filter> <circle cx="50" cy="50" r="20" stroke-width="1" stroke="blue" fill="gold" filter="url(#Merge)"/> </svg> |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Shadow" filterUnits="userSpaceOnUse"> <feGaussianBlur in="SourceAlpha" stdDeviation="2" result="blurout"/> <feOffset in="blurout" dx="2" dy="2" result="offsetblurout"/> <feMerge> <feMergeNode in="offsetblurout"/> <feMergeNode in="SourceGraphic"/> </feMerge> </filter> <circle cx="50" cy="50" r="20" stroke-width="1" stroke="blue" fill="gold" filter="url(#Shadow)"/> </svg> |
属性 | |||||||||||||
in | 合成するフィルタの結果 | ||||||||||||
in2 | 合成するもう一つのフィルタの結果 | ||||||||||||
operator |
演算方法
|
||||||||||||
k1 k2 k3 k4 | arithmetic演算パラメータ |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Xor" filterUnits="userSpaceOnUse"> <feOffset dx="20" result="ofsout"/> <feComposite operator="xor" in="SourceGraphic" in2="ofsout"/> </filter> <filter id="Arithmetic" filterUnits="userSpaceOnUse"> <feOffset dx="20" result="ofsout"/> <feComposite operator="arithmetic" in="SourceGraphic" in2="ofsout" k1="0" k2="0.7" k3="0.3" k4="0"/> </filter> <circle cx="40" cy="30" r="15" stroke-width="2" stroke="blue" fill="red" filter="url(#Xor)"/> <circle cx="40" cy="70" r="15" stroke-width="2" stroke="salmon" fill="green" filter="url(#Arithmetic)"/> </svg> |
属性 | |
lighting-color | 光源の色 |
surfaceScale | 完全に不透明な面の高さ(大きいほど高さのある立体として計算される) |
diffuseConstant | 照明の拡散定数(大きいと光が強くなる) |
光源要素・属性 | |||||||
feSpotLight |
スポットライト(光の当たる範囲がある)
|
||||||
fePointLight |
点光源(ある一転から放射状に光が当たる)
|
||||||
feDistantLight |
平行光源(無限遠から平行に光が当たる)
|
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="DiffuseLight" filterUnits="userSpaceOnUse"> <feDiffuseLighting surfaceScale="5" lighting-color="yellow" diffuseConstant="1" result="diffpointout"> <fePointLight x="10" y="10" z="40"/> </feDiffuseLighting> </filter> <circle cx="50" cy="50" r="30" filter="url(#DiffuseLight)"/> </svg> |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="DiffuseLight" filterUnits="userSpaceOnUse"> <feDiffuseLighting surfaceScale="5" lighting-color="yellow" diffuseConstant="1" result="diffpointout"> <fePointLight x="10" y="10" z="40"/> </feDiffuseLighting> <feComposite operator="in" in="diffpointout" in2="SourceAlpha" result="comp1"/> <feComposite operator="arithmetic" in="SourceGraphic" in2="comp1" k1="0" k2="1" k3="1" k4="0"/> </filter> <circle cx="50" cy="50" r="30" fill="red" filter="url(#DiffuseLight)"/> </svg> |
属性 | |
lighting-color | 光源の色 |
surfaceScale | 完全に不透明な面の高さ(大きいほど高さのある立体として計算される) |
specularConstant | 照明の拡散定数(大きいと光が強くなる) |
specularExponent | 鏡面指数 1~128(鏡度合いの強さ) |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Specular" filterUnits="userSpaceOnUse"> <feSpecularLighting surfaceScale="20" lighting-color="yellow" specularConstant="1" specularExponent="10"> <fePointLight x="40" y="40" z="30"/> </feSpecularLighting> </filter> <circle cx="50" cy="50" r="30" filter="url(#Specular)"/> </svg> |
<svg width="10cm" height="10cm" viewBox="0 0 100 100"
xmlns="http://www.w3.org/2000/svg"> <filter id="Specular" filterUnits="userSpaceOnUse"> <feSpecularLighting surfaceScale="20" lighting-color="yellow" specularConstant="1" specularExponent="10" result="specupointout"> <fePointLight x="40" y="40" z="30"/> </feSpecularLighting> <feComposite operator="in" in="specupointout" in2="SourceAlpha" result="comp1"/> <feComposite operator="arithmetic" in="SourceGraphic" in2="comp1" k1="0" k2="1" k3="1" k4="0"/> </filter> <circle cx="50" cy="50" r="30" fill="red" filter="url(#Specular)"/> </svg> |