Русская Википедия:Методы наложения (компьютерная графика)
Методы наложения (англ. Blend modes, также Mixing modes — методы смешивания) в компьютерной графике используются при редактировании цифровых изображений для определения того, как слои изображения взаимодействуют или смешиваются друг с другом. Под слоями понимаются не только отдельные слои изображения, но также и инструменты редактирования внутри одного слоя такие как кисть, заливка и другие.
Существует 27 основных методов наложения, которые разбиты на 7 групп: обычные, затемнение, осветление, контраст, инверсия, отмена и компонентная группа.
Условные обозначения
<math>A</math> — передний слой, <math>B</math> — задний слой, <math>C</math> — полученный результат.
В большинстве представленных формул арифметические операции производятся над RGB-компонентами изображения соответственно: для красного, зелёного и синего каналов (<math>A + B = R_AG_AB_A + R_BG_BB_B</math>). Традиционное использование промежутка <math>0..255</math> для значений RBG-компонент нормализовано, то есть пропорционально преобразовано в промежуток <math>0..1</math>. Так, например, <math>CC_{16} = 204_{10}^{0..255} = 0.8_{10}^{0..1}</math>. При этом результат вычислений не может выйти за границы указанного промежутка.
Методы компонентной группы используют HSV-компоненты.
<math>Y</math> — яркость. Яркость используется в некоторых
<math>\leftrightarrow</math> — коммутативная операция, то есть результат <math>C</math> не зависит от взаимного расположения слоёв <math>A</math> и <math>B</math>.
<math>\nleftrightarrow</math> — операция некоммутативна.
Обычная группа (Normal group)
Обычный (Normal)
Обычный метод наложения используется по умолчанию в большинстве графических редакторов. Изображение на переднем слое полностью перекрывает стоящее за ним.
Формула: <math>C = A</math>
Затухание (Dissolve)
Отличается от обычного метода наложения только при уменьшении параметра непрозрачности переднего слоя. Фронтальное изображение затухает не равномерно, а случайно: для каждого пикселя изображения переднего слоя случайным образом определяется, останется ли она окрашенной в оригинальный цвет, либо примет цвет пикселя изображения с заднего слоя. Чем ниже показатель непрозрачности, тем больше вероятность пикселя переднего изображения сменить цвет.
Затемнение (Darken group)
Затемнение (Darken)
Данный метод поканально сравнивает два смешиваемых изображения и из каждой соответственной пары выбирает канал с более низким значением.
Формула (<math>\nleftrightarrow</math>): <math>C = \begin{cases} A, & \text{if }B \leq A \\ B, & \text{if }B > A \end{cases}</math>
Умножение (Multiply)
Каждый компонент одного слоя умножается на соответствующий компонент другого слоя и результат объединяется в изображение. Поскольку для вычислений берётся нормализованный промежуток <math>0..1</math>, получившееся изображение получается темнее исходных, если хотя бы одно из них не состоит целиком из белого цвета, равного 1. В случае смешивания с изображением чёрного цвета результат всегда будет равен 0.
Коммутативность данного метода наложения вытекает из коммутативности операции умножения.
Формула (<math>\leftrightarrow</math>): <math>C = A \times B</math>
Выжигание цвета (Color Burn)
Формула (<math>\nleftrightarrow</math>): <math>C = 1 - \frac{1 - B}{A}</math>
Линейное выжигание (Linear Burn)
Формула (<math>\leftrightarrow</math>): <math>C = A + B - 1</math>
Темнее (Darker Color)
Похож на Darken, но сравнивание производится не для каждого RGB-канала изображения отдельно, а для композитного канала целиком. Сравнивание происходит по показателю яркости, который вычисляется по формуле <math>Y = 0.3R + 0.59G + 0.11B</math>, где <math>Y</math> — яркость, <math>R</math> — красный канал, <math>G</math> — зелёный канал, <math>B</math> — синий канал.
Поскольку выбор изображения идёт из композитных каналов двух смешиваемых слоёв, а не по отдельным каналам, данный метод наложения не создаёт новые цвета, в отличие от Darken метода.
Формула: <math>C = \begin{cases} A, & \text{if }Y_B \leq Y_A \\ B, & \text{if }Y_B > Y_A \end{cases}</math>
Осветление (Lighten Group)
Методы этой группы по сути действия прямо противоположны методам из группы затемнения.
Осветление (Lighten)
Как и Darken сравнивает соответствующие каналы смешиваемых изображений, но выбирает большее значение из двух.
Формула: <math>C = \begin{cases} B, & \text{if }B \leq A \\ A, & \text{if }B > A \end{cases}</math>
Экранирование (Screen)
Формула: <math>C = 1 - (1 - A)\times(1 - B)</math>
Выгорание цвета (Color Dodge)
Формула: <math>C = \frac{B}{1 - A}</math>
Линейное выгорание (Linear Dodge), иногда Сложение (Add)
Формула: <math>C = A + B</math>
Светлее (Lighter Color)
Контрастная группа (Contrast group)
Перекрытие (Overlay)
Формула: <math>C = \begin{cases} 2\times A \times B, & \text{if }B \leq 0.5 \\ 1 - 2 \times (1 - A) \times (1 - B), & \text{if }B > 0.5 \end{cases}</math>
Мягкий свет (Soft Light)
Формула: <math>C = \begin{cases} (2 \times A - 1) \times (B - B^2) + B, & \text{if }A \leq 0.5 \\ (2 \times A - 1) \times (\sqrt B - B) + B, & \text{if }A > 0.5 \end{cases}</math>
Жёсткий свет (Hard Light)
Формула: <math>C = \begin{cases} 2 \times A \times B, & \text{if }A \leq 0.5 \\ 1 - 2 \times (1 - A) \times (1 - B), & \text{if }A > 0.5 \end{cases}</math>
Яркий свет (Vivid Light)
Формула: <math>C = \begin{cases} 1 - \frac{(1 - B)}{2 \times A}, & \text{if }A \leq 0.5 \\ \frac{B}{2 \times (1 - A)}, & \text{if }A > 0.5 \end{cases}</math>
Линейный свет (Linear Light)
Формула: <math>C = B + 2 \times A - 1</math>
Примечания
Шаблон:Нет ссылок Шаблон:Изолированная статья