3. Устаревшие режимы слоёв

Начиная с GIMP 2.10 режимы слоёв изменились. Старые режимы воспринимаемого слоя по-прежнему доступны для совместимости с предыдущими версиями. Они называются «устаревшие режимы слоёв». Эти режимы слоёв будут использоваться при загрузке изображений, созданных до введения новых, в основном линейных режимов слоёв.

Более подробную информацию о режимах слоёв в целом можно найти в стандартном разделе

Рисунок 8.46. Выбор устаревшего режима слоя

Выбор устаревшего режима слоя

В диалоговом окне «Слои» отображается выпадающее меню Выбор устаревшего режима слоя .


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

Рисунок 8.47. Изображения (маски) для примеров режимов слоя

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

Маска 1

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

Маска 2 (примечание: это изображение — не реальная маска, а снимок маски с шашечным узором, показывающим прозрачные участки в GIMP)


Рисунок 8.48. Изображения (фоны) для примеров режимов слоя

Изображения (фоны) для примеров режимов слоя

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

Изображения (фоны) для примеров режимов слоя

Утки


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

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

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


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

[Примечание] Примечание

Если в описании ниже не указано иное, для отрицательного значения устанавливается 0, а для тех, что больше 255-ти — 255.

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

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

Нормальные режимы слоёв

Нормальный

В этой группе только «Нормальный» является нормальным.

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

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

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

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

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


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

Уравнение:

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


Растворение

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

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

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

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

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


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

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

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

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

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

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

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


Режимы осветления слоёв

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

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

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

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

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

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


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

Уравнение:

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


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

Экран

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

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

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

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

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


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

Уравнение:

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


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

Осветление

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

Пример для режима слоя «Осветление»

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

Пример для режима слоя «Осветление»

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


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

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

Уравнение:

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


Добавление

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

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

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

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

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


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

Уравнение:

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


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

Режимы затемнения слоёв

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

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

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

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

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

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


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

Уравнение:

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


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

Умножение

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

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

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

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

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


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

Уравнение:

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


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

Затемнение

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

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

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

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

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


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

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

Уравнение:

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


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

Перекрытие

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

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

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

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

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


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

Из-за ошибки [4] фактическое уравнение эквивалентно режиму «Рассеянный свет». Это не будет исправлено для устаревшего режима слоёв. Однако даже если вы явно используете устаревший режим слоя, GIMP всё равно установит по умолчанию режим слоя «Перекрытие». Устаревший режим «Перекрытие», установленный для слоя, будет заменён на устаревший режим «Рассеянный свет», так как он фактически является таковым.

Рассеянный свет

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

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

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

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

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


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

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

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


Формула 8.11. Уравнение для режима слоя «Рассеянный свет»


Направленный свет

Рисунок 8.61. Пример для режима слоя «Направленный свет»

Пример для режима слоя «Направленный свет»

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

Пример для режима слоя «Направленный свет»

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


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

Уравнение сложное и отличается в зависимости от того, является ли значение > 128 или < 128:

Формула 8.12. Уравнение для режима «Направленный свет», M > 128


Формула 8.13. Уравнение для режима «Направленный свет», M < 128


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

Разница

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

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

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

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

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


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

Уравнение:

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


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

Вычитание

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

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

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

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

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


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

Уравнение:

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


Извлечение зерна

Рисунок 8.64. Пример для режима слоя «Извлечение зерна»

Пример для режима слоя «Извлечение зерна»

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

Пример для режима слоя «Извлечение зерна»

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


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

Уравнение:

Формула 8.16. Уравнение для режима «Извлечение зерна»


Объединение зерна

Рисунок 8.65. Пример для режима слоя «Объединение зерна»

Пример для режима слоя «Объединение зерна»

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

Пример для режима слоя «Объединение зерна»

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


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

Уравнение:

Формула 8.17. Уравнение для режима слоя «Объединение зерна»


Деление

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

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

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

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

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


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

Уравнение:

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


Режимы слоёв «Компоненты HSV»

Тон HSV

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

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

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

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

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


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

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

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

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

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

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

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


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

Цвет HSL

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

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

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

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

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


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

Значение HSV

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

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

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

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

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


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



[4] См. старую систему отслеживания ошибок Bugzilla: issue #162395.