Processing:Справочник языка Processing/filter()
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
filter() [1]
Обозначение
filter()
Описание
Накладывает на дисплейное окно фильтр – либо предварительно заданный фильтр, либо кастомный шейдер. При использовании шейдера filter() работает быстрее. Чтобы использовать шейдер, в блоке size() необходимо задать визуализатор P2D или P3D.
Вот список предварительно заданных фильтров:
- THRESHOLD – Делает пиксели изображения черными или белыми в зависимости от того, преодолевают ли они пороговое значение, заданное в параметре level. Значение в нем должно быть в диапазоне от «0.0» (черный) до «1.0» (белый). Если параметра level указано не будет, будет использовано пороговое значение по умолчанию – «0.5».
- GRAY – Конвертирует все цвета изображения в эквивалентные монохромные цвета. Второй параметр не используется.
- OPAQUE – Делает альфа-канал полностью непрозрачным. Второй параметр не используется.
- INVERT – Инвертирует значение каждого пикселя. Второй параметр не используется.
- POSTERIZE – Ограничивает каждый канал изображения на количество цветов, заданных во втором параметре level. В нем можно указать значение в диапазоне 2-255, но результат наиболее заметен, если это значение будет небольшим.
- BLUR – Выполняет размытие по Гауссу. Во втором параметре level задается степень размытия. Если второго параметра указано не будет, результат будет эквивалентен гауссову размытию с радиусом 1. Чем больше значение в параметре level, тем больше размытие.
- ERODE – Ослабляет светлые участки. Второй параметр не используется.
- DILATE – Усиливает светлые участки. Второй параметр не используется.
Синтаксис
filter(shader)
filter(kind)
filter(kind, level)
Параметры
shader – шейдер, который нужно применить. Тип данных – объект PShader
kind – один из предварительно заданных фильтров. Возможные варианты – THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE или DILATE. Тип данных – int
level – значение, уникальное для каждого фильтра (см. выше). Тип данных – float
Возвращаемое значение
void
Пример
№1
![](/ruwiki/images/5/55/Processing_filter_0_threshold.png)
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(THRESHOLD);
№2
![](/ruwiki/images/c/c6/Processing_filter_1_gray.png)
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(GRAY);
№3
![](/ruwiki/images/8/8c/Processing_filter_2_invert.png)
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(INVERT);
№4
![](/ruwiki/images/a/ad/Processing_filter_3_posterize.png)
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(POSTERIZE, 4);
№5
![](/ruwiki/images/1/14/Processing_filter_4_blur.png)
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(BLUR, 6);
№6
![](/ruwiki/images/6/6f/Processing_filter_5_erode.png)
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(ERODE);
№7
![](/ruwiki/images/4/43/Processing_filter_6_dilate.png)
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(DILATE);
№8
![](/ruwiki/images/1/14/Processing_filter_4_blur.png)
PShader blur;
PImage img;
void setup() {
size(100, 100, P2D);
blur = loadShader("blur.glsl");
img = loadImage("apples.jpg");
image(img, 0, 0);
}
void draw() {
filter(blur); // делает размытие с каждым вызовом draw()
}
См.также
Внешние ссылки
развернутьПартнерские ресурсы |
---|
развернутьСправочник языка Processing |
---|
развернутьПримеры на Processing |
---|