Processing:Справочник языка Processing/filter(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= filter() <ref>[https://processing.org/reference/filter_.html processing.org - filter()]</ref>= | = filter() <ref>[https://processing.org/reference/filter_.html processing.org - filter()]</ref>= | ||
Строка 10: | Строка 7: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
filter() | filter() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 30: | Строка 27: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
filter(shader) | filter(shader) | ||
filter(kind) | filter(kind) | ||
Строка 38: | Строка 35: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
shader – шейдер, который нужно применить. Тип данных – объект PShader | shader – шейдер, который нужно применить. Тип данных – объект PShader | ||
kind – один из предварительно заданных фильтров. Возможные варианты – THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE или DILATE. Тип данных – int | kind – один из предварительно заданных фильтров. Возможные варианты – THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE или DILATE. Тип данных – int | ||
Строка 46: | Строка 43: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 57: | Строка 54: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
img = loadImage("apples.jpg"); | img = loadImage("apples.jpg"); | ||
Строка 69: | Строка 66: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
img = loadImage("apples.jpg"); | img = loadImage("apples.jpg"); | ||
Строка 81: | Строка 78: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
img = loadImage("apples.jpg"); | img = loadImage("apples.jpg"); | ||
Строка 93: | Строка 90: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
img = loadImage("apples.jpg"); | img = loadImage("apples.jpg"); | ||
Строка 105: | Строка 102: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
img = loadImage("apples.jpg"); | img = loadImage("apples.jpg"); | ||
Строка 117: | Строка 114: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
img = loadImage("apples.jpg"); | img = loadImage("apples.jpg"); | ||
Строка 130: | Строка 127: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
img = loadImage("apples.jpg"); | img = loadImage("apples.jpg"); | ||
Строка 142: | Строка 139: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PShader blur; | PShader blur; | ||
PImage img; | PImage img; | ||
Строка 163: | Строка 160: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ |
Текущая версия от 19:02, 19 сентября 2023
Содержание | Среда разработки 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 | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |