Processing:Справочник языка Processing/blend()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


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


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


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


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


background(loadImage("rockies.jpg"));
PImage img = loadImage("bricks.jpg");
image(img, 0, 0);
blend(img, 0, 0, 33, 100, 67, 0, 33, 100, LIGHTEST);

См.также

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