参考 filter()

filter()

将图像滤镜应用到画布上。

预设选项是:

INVERT 反转图像中的颜色。不使用任何参数。

GRAY 将图像转换为灰度图像。不使用任何参数。

THRESHOLD 将图像转换为黑白图像。高于给定阈值具有灰度值的像素将转换为白色。其余的都转换为 黑色的。阈值必须介于 0.0(黑色)和 1.0(白色)之间。如果不指定值时,使用 0.5。

OPAQUE 将 alpha 通道设置为完全不透明。不使用任何参数。

POSTERIZE 限制图像中的颜色数量。每个颜色通道仅限于 指定的颜色数量。 2 到 255 之间的值是有效的,但是 值越低,结果越显著。默认值为 4。

BLUR 模糊图像。模糊程度由模糊半径指定。较大 值会增加模糊度。默认值为 4。在 P2D 模式中,使用高斯模糊。在 WEBGL 模式中,使用框模糊 。

ERODE 减少光照区域。不使用任何参数。

DILATE 增加光照区域。不使用任何参数。

默认情况下,因为更快, filter() 使用 WebGL 处理背景。 在 P2D 模式下 ,如可以通过添加 false 论证,禁用此功能例如 filter(BLUR, false)。这可能有助于关闭图形处理器计算或者解决缺乏 WebGL 支持的问题。

在 WebGL 模式下,filter() 还可以用于定义着色器。参考 createFilterShader() 了解更多信息。

示例

语法

filter(filterType, [filterParam], [useWebGL])
filter(filterType, [useWebGL])
filter(shaderFilter)

参数

filterType
常量:

THRESHOLD、 GRAY、OPAQUE、INVERT、 POSTERIZE、BLUR、ERODE、DILATE 或 BLUR。

filterParam
数字:

每个过滤器独有的参数。

useWebGL
布尔:

控制是否使用快的 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!

相关参考