Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2268 статей для сайта.

Контакты:

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


Ambox content.png Черновик


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

Processing blend 0 add.png


  1. background(loadImage("rockies.jpg"));
  2. PImage img = loadImage("bricks.jpg");
  3. image(img, 0, 0);
  4. blend(img, 0, 0, 33, 100, 67, 0, 33, 100, ADD);

№2

Processing blend 1 subtract.png


  1. background(loadImage("rockies.jpg"));
  2. PImage img = loadImage("bricks.jpg");
  3. image(img, 0, 0);
  4. blend(img, 0, 0, 33, 100, 67, 0, 33, 100, SUBTRACT);

№3

Processing blend 2 darkest.png


  1. background(loadImage("rockies.jpg"));
  2. PImage img = loadImage("bricks.jpg");
  3. image(img, 0, 0);
  4. blend(img, 0, 0, 33, 100, 67, 0, 33, 100, DARKEST);

№4

Processing blend 3 lightest.png


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

См.также

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

  1. processing.org - blend()