キャンバスに画像フィルターを適用します。
プリセットのオプションは以下の通りです:
INVERT
画像の色を反転させます。パラメータは使用しません。
GRAY
画像をグレースケールに変換します。パラメータは使用しません。
THRESHOLD
画像を白黒に変換します。指定された閾値よりも高いグレースケール値を持つピクセルは 白に変換されます。残りは黒に変換されます。閾値は0.0(黒)から1.0(白)の間でなければ なりません。値が指定されていない場合、0.5が使用されます。
OPAQUE
アルファチャンネルを完全に不透明に設定します。パラメータは使用しません。
POSTERIZE
画像の色数を制限します。各色チャンネルは指定された色数に制限されます。 2から255の間の値が有効ですが、低い値ほど結果が顕著になります。デフォルト値は4です。
BLUR
画像をぼかします。ぼかしのレベルはぼかし半径によって指定されます。大きな 値ほどぼかしが強くなります。デフォルト値は4です。P2D
モードではガウシアンブラーが 使用されます。WEBGL
モードではボックスブラーが使用されます。
ERODE
明るい領域を縮小します。パラメータは使用しません。
DILATE
明るい領域を拡大します。パラメータは使用しません。
filter()
はデフォルトで高速化のためにバックグラウンドでWebGLを使用します。 これはP2D
モードでfalse
引数を追加することで無効にできます。 例えばfilter(BLUR, false)
のようにします。これは計算をGPUから離すために 有用かもしれません。またはWebGLサポートがない場合に対処するためにも使えます。
WebGLモードでは、filter()
はカスタムシェーダーも使用できます。詳細については createFilterShader()を 参照してください。
実例
シンタックス
filter(filterType, [filterParam], [useWebGL])
filter(filterType, [useWebGL])
filter(shaderFilter)
パラメーター
THRESHOLD、GRAY、OPAQUE、INVERT、 POSTERIZE、BLUR、ERODE、DILATEまたはBLURのいずれか。
各フィルター固有のパラメータ。
高速なWebGLフィルター(GPU)を使用するか、 オリジナルの画像フィルター(CPU)を使用するかを 制御するフラグ。デフォルトはtrue
。
フラグシェーダーでtex0
ユニフォームを 使用して読み込まれたシェーダー。