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
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(THRESHOLD);
№2
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(GRAY);
№3
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(INVERT);
№4
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(POSTERIZE, 4);
№5
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(BLUR, 6);
№6
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(ERODE);
№7
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(DILATE);
№8
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 | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |