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](https://vimsky.com/wp-content/uploads/2022/06/0b503c15f1e90908c3eb43e673523693.jpg)
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(GRAY);
![Image output for example 2](https://vimsky.com/wp-content/uploads/2022/06/2212cd41d651ec86b908fc54f0dd789d.jpg)
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(INVERT);
![Image output for example 3](https://vimsky.com/wp-content/uploads/2022/06/49a79ecd7b9153028af8e26874215b28.jpg)
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(POSTERIZE, 4);
![Image output for example 4](https://vimsky.com/wp-content/uploads/2022/06/0e7825747e826a8abd5dd92a181de4f2.jpg)
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(BLUR, 6);
![Image output for example 5](https://vimsky.com/wp-content/uploads/2022/06/b2ebcae0bb76dad509b91a6a2a8ba4f2.jpg)
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(ERODE);
![Image output for example 6](https://vimsky.com/wp-content/uploads/2022/06/9620063014ff5a9f924aeddb039d0171.jpg)
PImage img;
img = loadImage("flower.jpg");
image(img, 0, 0);
filter(DILATE);
![Image output for example 7](https://vimsky.com/wp-content/uploads/2022/06/7fb945d3a8becf7de84108d78cc433ae.jpg)
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](https://vimsky.com/wp-content/uploads/2022/06/77f04401ea9fa958635743d4c384b734.jpg)
相关用法
- Processing fill()用法及代码示例
- Processing final用法及代码示例
- Processing frustum()用法及代码示例
- Processing frameRate用法及代码示例
- Processing frameRate()用法及代码示例
- Processing false用法及代码示例
- Processing fullScreen()用法及代码示例
- Processing floor()用法及代码示例
- Processing float用法及代码示例
- Processing frameCount用法及代码示例
- Processing float()用法及代码示例
- Processing for用法及代码示例
- Processing focused用法及代码示例
- Processing FFT用法及代码示例
- Processing SawOsc.pan()用法及代码示例
- Processing FloatDict用法及代码示例
- Processing FFT.stop()用法及代码示例
- Processing join()用法及代码示例
- Processing () (parentheses)用法及代码示例
- Processing Pulse用法及代码示例
- Processing PShader用法及代码示例
- Processing PVector.set()用法及代码示例
- Processing FloatDict.sortKeysReverse()用法及代码示例
- Processing texture()用法及代码示例
- Processing IntDict.add()用法及代码示例
注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 filter()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。