フィルタエディタで使用するエフェクトは、SVGの規格でフィルタプリミティブとして仕様が決められたものです。規格に定義されているフィルタプリミティブとフィルタエディタ上でのエフェクト名の対応は、次のようになっています。
分類 | フィルタプリミティブ名 | エフェクト名 |
---|---|---|
色の操作 | feColorMatrix | カラーマトリクス |
feComponentTransfer | (未実装) | |
合成 | feBlend | ブレンド |
feComposite | 合成 | |
feMerge | マージ | |
フィル | feFlood | 塗りつぶし |
feImage | イメージ | |
feTile | (未実装) | |
feTurbulence | 乱流 | |
照明 | feDiffuseLighting | 拡散照明 |
feSpecularLIghting | 反射光 | |
ピクセル操作 | feConvolveMatrix | コンボリューションマトリクス |
feDisplacementMap | 変位マップ | |
feGaussianBlur | ガウスぼかし | |
feMorphology | モフォロジー | |
feOffset | オフセット |
イメージ (feImage)
feImageフィルタプリミティブによるエフェクトを施します。feImageは、指定したイメージをオブジェクトの境界枠内に埋め込みます。
指定されたイメージは、オブジェクトの境界枠の大きさに合わせて拡大または縮小されます。
このエフェクトには、次のオプションがあります。
イメージのソース
背景とするイメージのソースを指定します。ソースの指定は、次の2種類の方法があります。
- 外部ファイル
- ドキュメント内のオブジェクト
外部ファイルを指定する場合には「イメージファイル」ボタンをクリックし、指定するファイルを選択します。
ドキュメント内のオブジェクトを指定する場合には、まずイメージのソースとするオブジェクトを選択してから「選択されたSVG要素」ボタンをクリックします。グループ化すれば、複数のオブジェクトを指定することも可能です。
オフセット (feOffset)
feOffsetフィルタプリミティブによるエフェクトを施します。feOffsetは、オブジェクトを指定距離だけ平行移動します。
このエフェクトには、次のオプションがあります。
X軸方向の差分
X軸方向に移動させる距離をピクセル数で指定します。0より大きい値を指定すると右方向へ、0より小さい値を指定すると左方向に移動します。
Y軸方向の差分
Y軸方向に移動させる距離をピクセル数で指定します。0より大きい値を指定すると上方向へ、0より小さい値を指定すると下方向に移動します。
ガウスぼかし (feGaussianBlur)
feGaussianBlurフィルタプリミティブによるエフェクトを施します。feGaussianBlurは、ガウスぼかしを適用します。横方向へのぼかし、縦方向へのぼかしを別に指定することが可能です。
このエフェクトには、次のオプションがあります。
標準偏差
ぼかし具合を指定します。上の段で横方向のぼかし、下の段で縦方向のぼかし具合を指定します。スライダーまたは数値を直接入力して指定します。数値入力欄の右側にある「リンク」ボタンはトグルになっていて、ONにすると縦横で個別に設定することはできなくなり、横方向で指定した値を自動的に縦方向にも適用し
カラーマトリクス (feColorMatrix)
feColorMatrixフィルタプリミティブによるエフェクトを施します。feColorMatrixは、色を指定したルールに従って変換します。
このエフェクトには、次のオプションがあります。
タイプ
色変換のタイプを次の中から選択します。
- 行列
- 飽和
- 色相循環
- アルファの輝度
行列タイプの値
5×4の行列で指定します。色の変換は、もとのRGBAに5×5の行列を掛けて計算するため、固定値である一番下の1段をのぞいた5×4の部分が指定パラメータとなります。
飽和タイプの値
0.00~1.00の範囲で彩度を指定します。0のとき完全なモノトーン、1のときにオリジナルと同じ彩度となります。内部的には指定された値をsとすると、次の行列計算を行っています。
色相循環タイプの値
0.00~360.00の範囲で、ホイールで色を変化させた場合の角度を指定します。0または360のときには、オリジナルと同じ色調となります。
もとの画像 | 色相循環60 |
---|---|
アルファの輝度タイプの値
指定する値はありません。
もとの画像 | アルファの輝度 |
---|---|
コンボリューションマトリクス (feConvolveMatrix)
feConvolveMatrixフィルタプリミティブによるエフェクトを施します。feConvolveMatirxは、コンボリューション行列を定義してオブジェクトに適用します。ぼかし、シャープ、エンボス、エッジ検出を定義できます。ガウスぼかしもこのフィルタエフェクトで定義可能ですが、フィル/ストロークのダイアログで設定する方が高速で、かつ解像度の影響を受けません。
このエフェクトには、次のオプションがあります。
サイズ
核行列のサイズを列数、行数の順に定義します。1~5の値が指定可能です。
ターゲット
コンボリューション行列の対象の列位置および行位置を指定します。0~サイズ数-1の値が指定可能です。
核
コンボリューション行列の核を定義します。
除数
コンボリューション行列を実行して得られた値を除算するための値を指定します。0.00~1000.00の値が指定可能です。
バイアス
コンボリューション行列の核値に加算する値を指定します。-10.00~10.00の値が指定可能です。
エッジモード
核が入力イメージの端かその近くにある場合に行列操作が適用できるように、必要に応じて色の値で入力イメージを拡大する方法を指定します。
- 複製
- 折り返し
- なし
アルファを維持
このパラメータにチェックすると、定義したフィルタではアルファチャンネルを変更しません。
定義例
シャープ
核 | 除数 | バイアス | エッジモード | アルファを維持 | ||
---|---|---|---|---|---|---|
0 | -1 | 0 | 1 | 0 | なし | しない |
-1 | 5 | -1 | ||||
0 | -1 | 0 |
アンシャープ
核 | 除数 | バイアス | エッジモード | アルファを維持 | ||
---|---|---|---|---|---|---|
0 | -1 | 0 | 1 | 0 | なし | しない |
-1 | 5 | -1 | ||||
0 | -1 | 0 |
ぼかし
核 | 除数 | バイアス | エッジモード | アルファを維持 | ||
---|---|---|---|---|---|---|
0 | 1 | 0 | 5 | 0 | なし | しない |
1 | 1 | 1 | ||||
0 | 1 | 0 |
エンボス (1)
核 | 除数 | バイアス | エッジモード | アルファを維持 | ||
---|---|---|---|---|---|---|
-2 | -1 | 0 | 1 | 0 | なし | しない |
-1 | 1 | 1 | ||||
0 | 1 | 2 |
エンボス (2)
核 | 除数 | バイアス | エッジモード | アルファを維持 | ||
---|---|---|---|---|---|---|
-1 | 0 | 0 | 0 | 0.8 | なし | しない |
0 | 1 | 0 | ||||
0 | 0 | 0 |
エッジ抽出
核 | 除数 | バイアス | エッジモード | アルファを維持 | ||
---|---|---|---|---|---|---|
0 | -1 | 0 | 1 | 0 | なし | する |
-1 | 4 | -1 | ||||
0 | -1 | 0 |
エッジ強調
核 | 除数 | バイアス | エッジモード | アルファを維持 | ||
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | なし | しない |
-1 | 1 | 0 | ||||
0 | 1 | 0 |
ブレンド (feBlend)
feBlendフィルタプリミティブによるエフェクトを施します。feBlendは、重なったふたつのオブジェクトの色、またはオブジェクトとその背景の色をブレンドします。
このエフェクトには、次のオプションがあります。
モード
どのモードでブレンドするのかを指定します。モードには、次の5種類があります。
- 標準
- 乗算
- スクリーン
- 比較(暗)
- 比較(明)
「標準」が指定されると、フィルタがないときと同じように表示します。XML上の記述からも、実際にエフェクトが除去されます。
標準
フィルタがないときと同様、オブジェクトを順に重ねて表示します。
乗算
半透明に色のついたオブジェクトを重ねたときのように、重なった部分の色が濃くなるよう表示します
スクリーン
スクリーンに光を当てて重ねたときのように、重なった部分の色が明るくなるよう表示します。
比較(暗)
重なった部分のうち、もっとも暗い色(明度の低い色)を採用して表示します。
比較(明)
重なった部分のうち、もっとも明るい色(明度の高い色)を採用して表示します。
なお、48.2にはフィルタを新規作成してモードを標準から変更しても、効果が適用されない不具合があります。新規作成時に「blend」という属性を作成しますが、モード変更時にこの値を変更せず、代わりに同じ意味を持つ「mode」という属性に値を追加しているためです。モード変更時にはmodeの値が変更されますが、表示時にはblendの値が優先して使われるため、正しく表示できません。
XMLエディタでblend属性を削除すると、正常に動作するようになります。
0.48.4でも同じ不具合が存在しますが、2013年11月8日時点で最新版のナイトリービルドでは修正されています。
マージ (feMerge)
feMergeフィルタプリミティブによるエフェクトを施します。feMergeは、入力として指定された2個以上のオブジェクトを順に重ねて行きます。最初に指定したものが一番前面に置かれ、指定した順に下に重なります。
ガウスぼかしをかけてオフセット移動した画像の上に元の画像を重ねるには、次のようにフィルタを作成します。マージで、まずソースグラフィックを入力として指定し、次にオフセットの結果を入力として指定します。入力を指定するには、入力としたいものの上までマージの矢印部分をドラッグします。
上の例では、次のような画像が得られます。
モフォロジー (feMorphology)
feMorphologyフィルタプリミティブによるエフェクトを施します。feMorphologyは、オブジェクトを太くしたり細くしたりします。
エフェクトなし | モフォロジー:拡張 | モフォロジー:腐食 |
---|---|---|
このエフェクトには、次のオプションがあります。
演算子
モフォロジーのタイプを次のいずれかから選択して指定します。
- 腐食
- 拡張
「腐食」を選択するとオブジェクトの線が細くなり、「拡張」を選択するとオブジェクトの線が太くなります。
半径
モフォロジー適用の強度を0~100の間の数値で指定します。X軸とY軸を別々に指定することもできます。「リンク」ボタンをONにすると、X軸とY軸に同じ値が設定されるようになります
拡散照明 (feDiffuseLighting)
feDiffuseLightingフィルタプリミティブによるエフェクトを施します。feDiffuseLightingは、フォン反射モデルのDiffuseを計算します。これは拡散反射光を計算し、べベルやエンボスのような立体的なエフェクトを作ります。拡散反射光とは、光沢のない物体に光を当てたときの反射光です。マットな感じを表現するのに適しています。
このエフェクトには、次のオプションがあります。
拡散色
光源の色を指定します。
表面スケール
ハイトマップの高さ係数を-1000.0~1000.0の数値で指定します。値が大きいほど高低差が大きくなります。
定数
光源の光の強さを0.00~100.00の数値で指定します。
核単位長
反射を計算する際に使用されるピクセルサイズを0.0~10.0の値で指定します。ただしInkscapeではスクリーンピクセルを使用しているため、ここで指定された値は使用されません。
光源
光源の種類を次の中から選択します。
- スポットライト
- 遠くの光
- 点光源
合成 (feComposite)
feCompositeフィルタプリミティブによるエフェクトを施します。feCompositeは、ふたつのフィルタリング結果に対して集合演算的な合成をします。
このエフェクトには、次のオプションがあります。
演算子
どの演算子による合成を行うのかを、次の6種類の中から選択して指定します。
- Over
- In
- Out
- Atop
- XOR
- 計算
「デフォルト」が選択された状態では、Overと同じ操作をします。例で示す画像は、オフセット移動したものとソースイメージとを、それぞれの演算子で合成した結果です。
Over
ふたつのオブジェクトを単純に重ねて表示します。普通にふたつのオブジェクトを重ねた状態と同じように表示されます。
In
上のオブジェクトのうち、下に置かれたオブジェクトの領域内にある部分を表示します。
Out
上のオブジェクトのうち、下に置かれたオブジェクトの領域内にない部分を表示します。
Atop
下に置かれたオブジェクトを表示領域として表示します。
XOR
ふたつのオブジェクトの重なっていない部分を表示します。
計算
K1、K2、K3、K4に指定された値を用いて、K1×in×in2+K2×in+K3×in2+K4を計算した結果を表示します。inは最初のオブジェクト、in2は2つ目のオブジェクトです。K1~K4には、-10.0~10.0の間の値が指定可能です。
塗りつぶし (feFlood)
feFloodフィルタプリミティブによるエフェクトを施します。feFloodは、オブジェクトの内部を指定した色で塗りつぶします。
このエフェクトには、次のオプションがあります。
塗りつぶし色
塗りつぶしに使用する色を指定します。
不透明度
塗りつぶしの不透明度を0.00~1.00の間の値で指定します。
反射光 (feSpecularLighting)
feSpecularLightingフィルタプリミティブによるエフェクトを施します。feSpecularLightingは、フォン反射モデルのSpecularを計算します。これは鏡面反射光を計算し、金属やプラスチックなど光沢のある物体の反射光を作り出します。
一般的には拡散照明(feDiffuseLighting)とセットで使用します。
このエフェクトには、次のオプションがあります。
反射色
光源の色を指定します。
表面スケール
ハイトマップの高さ係数を-1000.0~1000.0の数値で指定します。値が大きいほど高低差が大きくなります。
定数
光源の光の強さを0.00~100.00の数値で指定します。
指数
反射の広がり具合を1.0~128.0の値で指定します。値が小さいと鈍い反射光、大きいほど鋭い反射光となります。
核単位長
反射を計算する際に使用されるピクセルサイズを0.0~10.0の値で指定します。ただしInkscapeではスクリーンピクセルを使用しているため、ここで指定された値は使用されません。
光源
光源の種類を次の中から選択します。
- スポットライト
- 遠くの光
- 点光源
変位マップ (feDisplacementMap)
feDisplacementMapフィルタプリミティブによるエフェクトを施します。feDisplacementMapは2番目のオブジェクトをピクセルを変位させる変位マップとして、1番目のオブジェクトを変位させます。これを使って、渦巻きのエフェクトや、つまんだエフェクトを作り出すことができます。
ソースグラフィックのピクセルは、次の計算式を使って変位します。
x’ = 規模 × (X変位(x,y) – 0.5)
y’ = 規模 × (Y変位(x,y) – 0.5)
X変位(x,y)とは、ソースグラフィック上の(x,y)のピクセルのX変位で指定された色のRGB値(またはアルファ値)です。
このエフェクトには、次のオプションがあります。
規模
変位の規模を0.0~100.0の間の値で指定します。
X変位、Y変位
X変位とY変位を、次のいずれかから選択して指定します。
- 赤
- 青
- 緑
- アルファ
乱流 (feTurbulance)
feTurbulanceフィルタプリミティブによるエフェクトを施します。feTurbulanceは、パーリンノイズを描画します。パーリンノイズとはKen Perlinによって開発された技法で、大理石の表面や雲のようなテクスチャを作り出すことができます。
このエフェクトには、次のオプションがあります。
タイプ
ノイズのタイプを次のいずれかから選択します。
- 乱流
- フラクタルノイズ
基本振動数
振動の大きさをスクリーンピクセルの逆数で指定します。0.000~0.400の値が指定可能です。
オクターブ
ノイズの複雑さを1~10の間の値で指定します。値が大きいほど複雑なテクスチャとなります。1~4くらいの値を指定すると良いでしょう。5以上の値を指定すると、CPU負荷が大きくなるだけで模様が細かすぎて肉眼では見えなくなっていきます。
シード
ノイズのシードを0~1000の間の値で指定します。ノイズのパターンを変更するために使います。
変形
オブジェクトの形状を変化させるフィルタを集めてあります。
- チョークとスポンジ
- ピクセル塗りつけ
- ラッピング
- ラフと拡張
- 内側をラフに
- 波紋
- 破れたエッジ