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

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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
filter()
filter()
</syntaxhighlight>
</syntaxhighlight>
Строка 30: Строка 30:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
filter(shader)
filter(shader)
filter(kind)
filter(kind)
Строка 38: Строка 38:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<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: Строка 46:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 57: Строка 57:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<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: Строка 69:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<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: Строка 81:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<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: Строка 93:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<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: Строка 105:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<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: Строка 117:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<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: Строка 130:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<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: Строка 142:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
PShader blur;
PShader blur;
PImage img;
PImage img;
Строка 179: Строка 179:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:09, 20 мая 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()
}

См.также

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