當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。