2. Режим слоя

История переиздания
Издание $Revision: 2567 $ n.n. n.n.

У GIMP двадцать один режим слоя. Режимы слоя иногда называются «режимами смешивания». Выбор режима слоя изменяет внешний вид слоя или изображения в зависимости от низлежащих слоёв. Если есть только один слой, то режим слоя ни на что не влияет. Поэтому должно быть по крайней мере два слоя, чтобы использовать режимы слоя.

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

[Замечание] Замечание

GIMP использует те же режимы для слоя (кроме двух), что и для кисти. За дополнительной информацией обратитесь сюда: Раздел 3.2, « Инструменты рисования (Карандаш, Кисть, Аэрограф) ».

Режимы слоёв позволяют изменять цвета в изображении сложным образом. Они обычно применяются для нового слоя, который ведёт себя как маска. Например, если новый белый слой поставит в режим «Насыщенность», то нижние слои будут выглядеть серыми.

Рисунок 5.8. Маски для примеров

Маски для примеров

Маска 1

Маски для примеров

Маска 2


Рисунок 5.9. Искомые изображенияImages для примеров

Искомые изображенияImages для примеров

Железный человечек

Искомые изображенияImages для примеров

Утки


В описании режимов слоёв ниже также показано уравнение. Это для тех, кому интересна математическая сторона вопроса. Понимать уравнения не обязательно для эффективного использования режимом.

Уравнения написаны в краткой форме. На пример, уравнение

Формула 5.1. Пример


означает «для каждой точки верхнего слоя (Маска) и нижнего слоя (I изображение) сложи соответствующие цветовые компоненты вместе, чтобы получить цвет точки результата.» Значения цветовых компонентов всегда между 0 и 255. Если ниже специально не оговорено, отрицательные значение ставятся на 0, а те, что больше 255-ти - на 255.

Примеры внизу показывают эффект каждого режима. Изображение слева в нормальном режиме, изображение справа показывает результат режима.

Поскольку результат каждого режима сильно зависит от цвета слоёв, эти изображения дадут только общую идею о работе режимов. Поэкспериментируйте. Начните с похожими слоями, когда один слой - слегка изменённая копия другого (немного расмытая, смещённая, повёрнутая, растянута, инвертирована) и посмотрите на эффект каждого режима.

Нормальный

Рисунок 5.10. Пример для режима слоя «Нормальный»

Пример для режима слоя Нормальный

Оба изображения смешаны друг с другом с одинаковой интенсивностью.

Пример для режима слоя Нормальный

Со 100% непрозрачностью при смешивании в «Нормальном» режиме показывается только верхний слой.


Нормальный режим - режим по умолчанию. Верхний слой полностью покрывает нижний слой. Чтобы показался нижний слой, необходимо создать прозрачные области в верхнем слое.

Уравнение:

Формула 5.2. Уравнение для режима «Нормальный»


Растворение

Рисунок 5.11. Пример для режима слоя «Растворение»

Пример для режима слоя Растворение

Оба изображения смешаны друг с другом с одинаковой интенсивностью.

Пример для режима слоя Растворение

Со 100% непрозрачностью при смешивании слоёв с помощью «растворения» показывается только верхний слой.


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

Это особенно заметно вокруг краёв в изображении. В увеличенном снимке экрана изображение слева показывает «Нормальный» режим слоя, а изображение справа показывает те же два слоя в режиме «Растворение», где хорошо видно разброс точек.

Рисунок 5.12. Увеличенные снимки экрана

Увеличенные снимки экрана

Нормальный режим

Увеличенные снимки экрана

Режим растворения


Умножение

Рисунок 5.13. Пример для режима слоя «Умножение»

Пример для режима слоя Умножение

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Умножение

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Умножение перемножает значение точек верхнего и нижнего слоёв и делит на 255. Результат обычно темнее искомого изображения. Если один из слоёв белый, то результат равен другому слою. Если один из слоёв белый, то результат тоже чёрный.

Уравнение:

Формула 5.3. Уравнение для режима «Умножение»


Режим накапливающийся; порядок слоёв не имеет значения.

Деление

Рисунок 5.14. Пример для режима слоя «Деление»

Пример для режима слоя Деление

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Деление

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Деление умножает значение точки нижнего слоя на 256 и делит на значение точки верхнего слоя плюс один. Загадочное слагаемое «+ 1» находится в уравнении для того, чтобы избежать деления на ноль. Результат обычно светлее исходного изображения, и иногда выглядит «выжженным».

Уравнение:

Формула 5.4. Уравнение для режима «Деление»


Экран

Рисунок 5.15. Пример для режима слоя «Экран»

Пример для режима слоя Экран

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Экран

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Экран инвертирует значения точек верхнего и нижнего слоёв (т.е. вычитает их из 255-ти), умножает их, делит на 255 и инвертирует результат. Результат обычно светлее исходного изображения, и иногда выглядит «выцветшим». Исключение составляют чёрный слой, который не меняет результата, и белый слой, результат которого - белое изображение. Тёмные цвета выглядят более прозрачными.

Уравнение:

Формула 5.5. Уравнение для режима «Экран»


Режим накапливающийся; порядок слоёв не имеет значения.

Перекрытие

Рисунок 5.16. Пример для режима слоя «Перекрытие»

Пример для режима слоя Перекрытие

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Перекрытие

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Перекрытие инвертирует точки нижнего слоя, умножает на значение точки верхнего слоя, умножает на два, прибавляет результат к исходному значению точки нижнего слоя, делит на 255, умножает на исходное значение точки нижнего слоя и делит на 255 во второй раз. Обычно он затемняет изображение, но не на столько, как режим «Умножение».

Уравнение: [2]

Формула 5.6. Уравнение для режима «Перекрытие»


Осветлитель

Рисунок 5.17. Пример для режима слоя «Осветлитель»

Пример для режима слоя Осветлитель

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Осветлитель

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Осветлитель умнозает значение точки нижнего слоя на 256 и делит на обратное значение точки верхнего слоя. Обычно изображение становится светлее, но некоторые цвета могут инвертироваться.

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

Уравнение:

Формула 5.7. Уравнение для режима «Осветлитель»


Затемнитель

Рисунок 5.18. Пример для режима слоя «Затемнитель»

Пример для режима слоя Затемнитель

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Затемнитель

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Затемнитель инвертирует точки нижнего слоя, умножает результат на 256, делит на один плюс значение точки верхнего слоя и инвертирует результат. Обычно он делает изображение темнее, сравнимо с нежимом «Умножение».

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

Уравнение:

Формула 5.8. Уравнение для режима «Затемнитель»


Жёсткий свет

Рисунок 5.19. Пример для режима слоя «Жёсткий свет»

Пример для режима слоя Жёсткий свет

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Жёсткий свет

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Жёсткий свет сложен тем, что уравнение для него состоит из двух частей, для светлых и тёмных цветов. Если цвет точки верхнего слоя ярче, чем 128, слои комбинируются по первой формуле. В противном случае, значение точки верхнего слоя умножается на значение точки нижнего слоя, результат умножается на два, а затем делится на 256. Если совместить две одинаковые фотографии в этом режиме, то цвета станут ярче, а края - резче.

Уравнение сложное и разбито на две части по значению >128 и ≤128:

Формула 5.9. Уравнение для режима «Жёсткий свет», M > 128


Формула 5.10. Уравнение для режима «Жёсткий свет», M ≤ 128


Мягкий свет

Рисунок 5.20. Пример для режима слоя «Мягкий свет»

Пример для режима слоя Мягкий свет

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Мягкий свет

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Мягкий свет не имеет ничего общего с «Жёсткий свет», но делает края мягче и цвета не такими яркими. Он похож на режим «Перекрытие». В некоторых версиях GIMP режимы «Перекрытие» и «Мягкий свет» индентичны.

Уравнение сложное. Оно требует Rs - результат режима «Экран»:

Формула 5.11. Уравнение для режима «Экран»


Формула 5.12. Уравнение для режима «Мягкий свет»


Вытяжка зерна

Рисунок 5.21. Пример для режима слоя «Вытяжка зерна»

Пример для режима слоя Вытяжка зерна

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Вытяжка зерна

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Вытяжка зерна вычитает значение точек верхнего слоя из значений точек нижнего слоя и прибавляет 128. Он расчитан на выявление «зернистости фотоплёнки» в слое, чтобы получить слой с чистыми зёрнами, но годится также, когда нужно придать изображению рельеф.

Уравнение:

Формула 5.13. Уравнение для режима «Вытяжка зерна»


Слияние зерна

Рисунок 5.22. Пример для режима слоя «Слияние зерна»

Пример для режима слоя Слияние зерна

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Слияние зерна

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Слияние зерна складывает значения точек верхнего слоя с значениями точек нижнего слоя и вычитает 128 из результата, чтобы получить конечное изображение. Он сливает зернистый слой (на пример, создаваемый режимом «Вытяжка зерна») с активным слоем, оставляя зернистую версию искомого слоя и таким образом противоположен режиму «Вытяжка зерна».

Уравнение:

Формула 5.14. Уравнение для режима «Слияние зерна»


Разница

Рисунок 5.23. Пример для режима слоя «Разница»

Пример для режима слоя Разница

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Разница

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Разница вычитает значение точек верхнего слоя из значений точек нижнего слоя и берёт абсолютное значение результата, чтобы получить конечное изображение. Обычно результат получается довольно странным. Этот режим можно использовать для инвертирования областей изображения.

Уравнение:

Формула 5.15. Уравнение для режима «Разница»


Режим накапливающийся; порядок слоёв не имеет значения.

Добавление

Рисунок 5.24. Пример для режима слоя «Добавление»

Пример для режима слоя Добавление

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Добавление

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Добавление складывает значения точек верхнего слоя со значениями точек нижнего слоя, чтобы получить конечное изображение. Результат обычно светлее искомого изображения. значение больше 255, получаемые в результате применения уравнения, заменяются на 255.

Уравнение:

Формула 5.16. Уравнение для режима «Добавление»


Режим накапливающийся; порядок слоёв не имеет значения.

Вычитание

Рисунок 5.25. Пример для режима слоя «Вычитание»

Пример для режима слоя Вычитание

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Вычитание

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


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

Уравнение:

Формула 5.17. Уравнение для режима «Вычитание»


Только тёмное

Рисунок 5.26. Пример для режима слоя «Только тёмное»

Пример для режима слоя Только тёмное

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Только тёмное

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


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

Уравнение:

Формула 5.18. Уравнение для режима «Только тёмное»


Режим накапливающийся; порядок слоёв не имеет значения.

Только светлое

Рисунок 5.27. Пример для режима слоя «Только светлое»

Пример для режима слоя Только светлое

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Только светлое

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


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

Уравнение:

Формула 5.19. Уравнение для режима «Только светлое»


Режим накапливающийся; порядок слоёв не имеет значения.

Тон

Рисунок 5.28. Пример для режима слоя «Тон»

Пример для режима слоя Тон

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Тон

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Тон использует тон верхнего слоя и насыщенность и яркость нижнего слоя, чтобы получить конечное изображение. Однако, если насыщенность верхнего слоя равна нулю, то тон берётся из нижнего слоя.

Насыщенность

Рисунок 5.29. Пример режима слоя «Насыщенность»

Пример режима слоя Насыщенность

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример режима слоя Насыщенность

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Насыщенность использует насыщенность верхнего слоя и тон и яркость нижнего слоя, чтобы получить конечное изображение.

Цвет

Рисунок 5.30. Пример для режима слоя «Цвет»

Пример для режима слоя Цвет

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Цвет

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Цвет использует тон и насыщенность верхнего слоя и яркость нижнего слоя, чтобы получить конечное изображение.

Значение

Рисунок 5.31. Пример для режима слоя «Значение»

Пример для режима слоя Значение

Маска 1 используется как верхний слой с 100%-ой непрозрачностью

Пример для режима слоя Значение

Маска 2 используется как верхний слой с 100%-ой непрозрачностью


Режим Значение использует яркость верхнего слоя и насыщенность и тон нижнего слоя, чтобы получить конечное изображение. Он годится, когда нужно выявить детали из тёмных или светлых областей изображения, не меняя насыщенности.

У каждого слоя изображения может быть свой режим. Конечно же, режим самого нижнего слоя не имеет никакого значения. Эффект режимов слоёв накапливающийся. У изображения внизу три слоя. Верхний слой содержит Уилбера, окружённого прозрачностью с режимом «Разницы». Второй слой сплошной синий с режимом «Добавления». Нижний слой заполнен текстурой «красных квадратов».

Рисунок 5.32. Пример множества слоёв

Пример множества слоёв

GIMP также использует похожие режимы для инструментов рисования. Это тот же двадцать один режим слоя плюс два дополнительных, которые применяются только к инструментам рисования. Режим устанавливается из меню режима в диалоге параметров инструментов. В уравнениях выше нижний слой это слой, на котором рисуют, а верхний слой это наносимые точки. Не обязательно иметь в изображении больше одного слоя, чтобы использовать эти режимы, поскольку они оперируют только над активным слоем и активным инструментом. Дополнительные два режима описаны здесь.

[Подсказка] Подсказка

Есть дополнительных для режима слоя, но они доступны только для инструментов рисования. За дополнительной информацией обратитесь сюда: Режимы рисования .

Позади

Режим Позади доступен только из параметров панели инструментов, а не как режим слоя в диалоге слоёв. При рисовании в режиме «Позади» инструмент рисует позади объектов, которые уже были нарисованы на слое. Поэтому этот нежим не имеет смысла, если в слоя ещё нет прозрачных областей, где результат инструмент был бы виден.

В изображении примера, Уилбер находится в верхнем слое, окружённый прозрачностью. Нижний слой сплошной синий. Инструмент сплошной заливки использовался в режиме Смещения выделения, и весь слой был выделен. Инструмент рисовал текстурой.

Очистка цвета

Режим Очистка цвета доступен только из параметров панели инструментов. При рисовании инструментом в режиме «очистки цвета», он находит те области в слое, у которых цвет равен активному, и делает эти области прозрачными. У слоя должен быть канал альфа, чтобы была прозрачность и эффект был виден.

В изображении примера цвет плоской заливки был белый, поэтому белые части Уилбера были удалены и показался синий.



[2] Это уравнение теоретическое. Из-за ошибки #162395, настоящее уравнение эквивалентно мягкому свету. Эту ошибку трудно исправить, не изменяя существующих изображений.