filter()

キャンバスに画像フィルターを適用します。

プリセットのオプションは以下の通りです:

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)

パラメーター

filterType
Constant:

THRESHOLD、GRAY、OPAQUE、INVERT、 POSTERIZE、BLUR、ERODE、DILATEまたはBLURのいずれか。

filterParam
Number:

各フィルター固有のパラメータ。

useWebGL
Boolean:

高速なWebGLフィルター(GPU)を使用するか、 オリジナルの画像フィルター(CPU)を使用するかを 制御するフラグ。デフォルトはtrue

shaderFilter
p5.Shader:

フラグシェーダーでtex0ユニフォームを 使用して読み込まれたシェーダー。

Notice any errors or typos? Please let us know. Please feel free to edit src/image/pixels.js and open a pull request!

関連するリファレンス