当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Processing filter()用法及代码示例


Processing, filter()用法介绍。

用法

  • filter(shader)
  • filter(kind)
  • filter(kind, param)

参数

  • shader (PShader) 要应用的片段着色器
  • kind (int) 阈值、灰色、不透明、反转、后处理、模糊、侵蚀或扩张
  • param (float) 每个都是独一无二的,见上文

返回

  • void

说明

过滤由以下模式之一定义的图像:



THRESHOLD


将图像转换为黑白像素,具体取决于它们是高于还是低于 level 参数定义的阈值。该参数必须介于 0.0(黑色)和 1.0(白色)之间。如果未指定级别,则使用 0.5。



GRAY


将图像中的任何颜色转换为等效的灰度。没有使用参数。



OPAQUE


将 Alpha 通道设置为完全不透明。没有使用参数。



INVERT


将每个像素设置为其倒数。没有使用参数。



POSTERIZE


将图像的每个通道限制为参数指定的颜色数。该参数可以设置为 2 到 255 之间的值,但结果在较低范围内最为明显。



BLUR


使用指定模糊程度的 level 参数执行高斯模糊。如果不使用参数,则模糊相当于半径为 1 的高斯模糊。较大的值会增加模糊。



ERODE


减少光照区域。没有使用参数。



DILATE


增加光照区域。没有使用参数。

例子

PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(THRESHOLD);
Image output for example 1
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(GRAY);
Image output for example 2
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(INVERT);
Image output for example 3
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(POSTERIZE, 4);
Image output for example 4
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(BLUR, 6);
Image output for example 5
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(ERODE);
Image output for example 6
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(DILATE);
Image output for example 7
PShader blur;
PImage img;

void setup() {
  size(400, 400, P2D);
  blur = loadShader("blur.glsl");
  img = loadImage("flower.jpg");
  image(img, 0, 0); 
}


void draw() {
  filter(blur); // Blurs more each time through draw()
}
Image output for example 8

相关用法


注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 filter()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。