Processing:Справочник языка Processing/filter(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
Строка 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>=
Строка 163: Строка 160:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: filter() / Онлайн справочник - wikihandbk.com
|Ключевые слова=processing,filter() ,filter() processing, processing filter()
|Описание статьи= 
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/filter()</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-07-16
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Портал/Processing}}
{{Навигационная таблица/Портал/Processing}}

Текущая версия от 19:02, 19 сентября 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


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()
}

См.также

Внешние ссылки