Методы наложения (компьютерная графика)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Методы наложения (англ. Blend modes, также Mixing modes — методы смешивания) в компьютерной графике используются при редактировании цифровых изображений для определения того, как слои изображения взаимодействуют или смешиваются друг с другом. Под слоями понимаются не только отдельные слои изображения, но также и инструменты редактирования внутри одного слоя такие как кисть, заливка и другие.

Существует 27 основных методов наложения, которые разбиты на 7 групп: обычные, затемнение, осветление, контраст, инверсия, отмена и компонентная группа.

Условные обозначения[править | править код]

 — передний слой,  — задний слой,  — полученный результат.

В большинстве представленных формул арифметические операции производятся над RGB-компонентами изображения соответственно: для красного, зелёного и синего каналов (). Традиционное использование промежутка для значений RBG-компонент нормализовано, то есть пропорционально преобразовано в промежуток . Так, например, . При этом результат вычислений не может выйти за границы указанного промежутка.

Методы компонентной группы используют HSV-компоненты.

— яркость. Яркость используется в некоторых

 — коммутативная операция, то есть результат не зависит от взаимного расположения слоёв и .

 — операция некоммутативна.

Обычная группа (Normal group)[править | править код]

Обычный (Normal)[править | править код]

Обычный метод наложения используется по умолчанию в большинстве графических редакторов. Изображение на переднем слое полностью перекрывает стоящее за ним.

Формула:

Затухание (Dissolve)[править | править код]

Отличается от обычного метода наложения только при уменьшении параметра непрозрачности переднего слоя. Фронтальное изображение затухает не равномерно, а случайно: для каждого пикселя изображения переднего слоя случайным образом определяется, останется ли она окрашенной в оригинальный цвет, либо примет цвет пикселя изображения с заднего слоя. Чем ниже показатель непрозрачности, тем больше вероятность пикселя переднего изображения сменить цвет.

Затемнение (Darken group)[править | править код]

Затемнение (Darken)[править | править код]

Данный метод поканально сравнивает два смешиваемых изображения и из каждой соответственной пары выбирает канал с более низким значением.

Формула ():

Умножение (Multiply)[править | править код]

Каждый компонент одного слоя умножается на соответствующий компонент другого слоя и результат объединяется в изображение. Поскольку для вычислений берётся нормализованный промежуток , получившееся изображение получается темнее исходных, если хотя бы одно из них не состоит целиком из белого цвета, равного 1. В случае смешивания с изображением чёрного цвета результат всегда будет равен 0.

Коммутативность данного метода наложения вытекает из коммутативности операции умножения.

Формула ():

Выжигание цвета (Color Burn)[править | править код]

Формула ():

Линейное выжигание (Linear Burn)[править | править код]

Формула ():

Темнее (Darker Color)[править | править код]

Похож на Darken, но сравнивание производится не для каждого RGB-канала изображения отдельно, а для композитного канала целиком. Сравнивание происходит по показателю яркости, который вычисляется по формуле , где — яркость, — красный канал, — зелёный канал, — синий канал.

Поскольку выбор изображения идёт из композитных каналов двух смешиваемых слоёв, а не по отдельным каналам, данный метод наложения не создаёт новые цвета, в отличие от Darken метода.

Формула:

Осветление (Lighten Group)[править | править код]

Методы этой группы по сути действия прямо противоположны методам из группы затемнения.

Осветление (Lighten)[править | править код]

Как и Darken сравнивает соответствующие каналы смешиваемых изображений, но выбирает большее значение из двух.

Формула:

Экранирование (Screen)[править | править код]

Формула:

Выгорание цвета (Color Dodge)[править | править код]

Формула:

Линейное выгорание (Linear Dodge), иногда Сложение (Add)[править | править код]

Формула:

Светлее (Lighter Color)[править | править код]

Контрастная группа (Contrast group)[править | править код]

Перекрытие (Overlay)[править | править код]

Формула:

Мягкий свет (Soft Light)[править | править код]

Формула:

Жёсткий свет (Hard Light)[править | править код]

Формула:

Яркий свет (Vivid Light)[править | править код]

Формула:

Линейный свет (Linear Light)[править | править код]

Формула:

Примечания[править | править код]