Processing:Справочник языка Processing/blend(): различия между версиями
Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= blend() <ref>[https://processing.org/reference/blend_.html processing.org - blend()]</ref>= | = blend() <ref>[https://processing.org/reference/blend_.html processing.org - blend()]</ref>= | ||
Строка 119: | Строка 116: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ |
Текущая версия от 19:02, 19 сентября 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
blend() [1]
Обозначение
blend()
Описание
Накладывает фрагмент из одного изображения на другое изображение (или на самого себя). Имеется полная поддержка альфа-канала. В параметре mode можно указать режим наложения – то есть то, каким способом пиксели накладываемого изображения (A) будут смешаны с пикселями «посадочной площадки» (B):
- BLEND – линейная интерполяция цветов: C = A*коэффициент + B
- ADD – аддитивное наложение с отсечением белого: C = min(A*коэффициент + B, 255)
- SUBTRACT – субтрактивное наложение с отсечением черного: C = max(B - A*коэффициент, 0)
- DARKEST – отображаются только самые темные цвета: C = min(A*коэффициент, B)
- LIGHTEST – отображаются только самые светлые цвета: C = max(A*коэффициент, B)
- DIFFERENCE – вычитает цвета из «посадочной площадки»
- EXCLUSION – то же самое, что и DIFFERENCE, только в меньшей степени
- MULTIPLY – умножает цвета; результат всегда будет темнее
- SCREEN – противоположность MULTIPLY, использует инвертированные значения цветов
- OVERLAY – комбинирует MULTIPLY и SCREEN; применяет MULTIPLY на темные участки, а SCREEN – на светлые участки
- HARD_LIGHT – если выше 50% серого, используется SCREEN, а если ниже – MULTIPLY
- SOFT_LIGHT – комбинирует DARKEST и LIGHTEST; работает аналогично OVERLAY, но не так жестко
- DODGE – осветляет светлые цвета и усиливает контраст, игнорирует темные цвета; в Photoshop и Illustrator называется Color Dodge («Осветление основы»)
- BURN – применяется к темным цветам, усиливает контраст, игнорирует светлые участки; в Photoshop и Illustrator называется Color Burn («Затемнение основы»)
Все режимы в качестве коэффициента наложения используют альфа-информацию (самый старший бит) накладываемого изображения. Если «посадочная площадка» и накладываемое изображения разных размеров, размер накладываемого изображения будет автоматически изменен, чтобы соответствовать размеру «посадочной площадки». Если параметра src указано не будет, в качестве накладываемого изображения будет использовано дисплейное окно.
В Processing версии 0149 этот метод игнорирует настройки imageMode().
Синтаксис
blend(sx, sy, sw, sh, dx, dy, dw, dh, mode)
blend(src, sx, sy, sw, sh, dx, dy, dw, dh, mode)
Параметры
src – накладываемое изображение. Тип данных – PImage
sx – координата X левого верхнего угла накладываемого изображения. Тип данных – int
sy – координата Y левого верхнего угла накладываемого изображения. Тип данных – int
sw – ширина накладываемого изображения. Тип данных – int
sh – высота накладываемого изображения. Тип данных – int
dx – координата X левого верхнего угла «посадочной площадки». Тип данных – int
dy – координата Y левого верхнего угла «посадочной площадки». Тип данных – int
dw – ширина «посадочной площадки». Тип данных – int
dh – высота «посадочной площадки». Тип данных – int
mode – режим наложения; возможные варианты – BLEND, ADD, SUBTRACT, LIGHTEST, DARKEST, DIFFERENCE, EXCLUSION, MULTIPLY, SCREEN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, DODGE, BURN. Тип данных – int
Возвращаемое значение
void
Пример
№1
![](/ruwiki/images/7/7c/Processing_blend_0_add.png)
background(loadImage("rockies.jpg"));
PImage img = loadImage("bricks.jpg");
image(img, 0, 0);
blend(img, 0, 0, 33, 100, 67, 0, 33, 100, ADD);
№2
![](/ruwiki/images/b/bc/Processing_blend_1_subtract.png)
background(loadImage("rockies.jpg"));
PImage img = loadImage("bricks.jpg");
image(img, 0, 0);
blend(img, 0, 0, 33, 100, 67, 0, 33, 100, SUBTRACT);
№3
![](/ruwiki/images/5/53/Processing_blend_2_darkest.png)
background(loadImage("rockies.jpg"));
PImage img = loadImage("bricks.jpg");
image(img, 0, 0);
blend(img, 0, 0, 33, 100, 67, 0, 33, 100, DARKEST);
№4
![](/ruwiki/images/e/e3/Processing_blend_3_lightest.png)
background(loadImage("rockies.jpg"));
PImage img = loadImage("bricks.jpg");
image(img, 0, 0);
blend(img, 0, 0, 33, 100, 67, 0, 33, 100, LIGHTEST);
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |