Gimp - Использование изображения в качестве слоя прозрачности другого изображения

У меня есть два изображения (для простоты Image1 и Image2). Я хочу использовать Image2 в качестве прозрачности для Image1.

Как я могу это сделать? Предположим, что я немного больше сделал с Gimp, чем поигрался с некоторыми фильтрами.

Спасибо.

Является ли Image2 изображением в градациях серого? Поскольку прозрачность использует значение 0..255 для каждого пикселя, в этом отношении это похоже на изображение в градациях серого.
Для новичков в GIMP, таких как я, ниже приведены необходимые сведения и терминология для понимания этой темы. Во всяком случае мне помогло. Docs.Gimp, Глава 8. Объединение изображений: docs.gimp.org/2.6/en/gimp-image-combining.html

Ответы (3)

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

Базовое изображение без прозрачности Альфа-маска для изображения
(Базовое изображение основано на этой фотографии Джона Филдинга , используемой под лицензией CC-By-SA 2.0 ; альфа-маска, созданная мной с помощью инструмента GIMP Sphere Designer.)

Есть несколько способов сделать это; позвольте мне описать некоторые из них.

Способ 1: откройте оба изображения в GIMP. Выберите изображение в градациях серого и скопируйте его в буфер обмена ( Правка → Копировать или Ctrl+ C). На базовом изображении выберите « Слой» → «Маска» → «Добавить маску слоя... » (также доступно, если щелкнуть слой правой кнопкой мыши в диалоговом окне «Слои»). Неважно, какую маску вы выберете, так как мы скоро ее заменим.

Маска слоя, которую вы только что добавили, должна быть выбрана для редактирования; если нет, выберите его с помощью « Слой» → «Маска» → «Редактировать маску слоя » (или просто щелкните маску в диалоговом окне «Слои»). Вставьте изображение в градациях серого ( Edit → Paste или Ctrl+ V) и привяжите получившееся плавающее выделение к маске ( Layers → Anchor Layer или Ctrl+ H, или щелкните значок Anchor в диалоговом окне Layers).

При желании можно превратить маску слоя в фактический альфа-канал, используя Layer → Mask → Apply Layer Mask (но простой экспорт изображения в формате PNG сделает это за вас).

Способ 2. Откройте изображения как слои ( Файл → Открыть как слои... ) или просто вставьте одно как новый слой в другой. С видимым слоем изображения в градациях серого откройте диалоговое окно «Каналы», щелкните правой кнопкой мыши один из каналов «Красный/Зеленый/Синий» (все они должны быть одинаковыми) и выберите «Канал для выбора» . Инвертируйте выделение с помощью Select → Invert или Ctrl+ I.

Выберите базовый слой изображения в диалоговом окне «Слои». Добавьте для него альфа-канал с помощью Layers → Transparency → Add Alpha Channel , если его еще нет, а затем вырежьте выделение из слоя ( Select → Cut или Ctrl+ X).

Метод 3: как метод 2, но после Channel to Selection , не инвертируйте выделение, а просто используйте Layer → Mask → Add Layer Mask... на базовом слое изображения и выберите «Selection» в диалоговом окне. Затем по желанию нанесите маску, как в способе 1.


В любом случае, какой бы метод вы ни использовали, результат должен выглядеть так (настоящий прозрачный PNG слева, с клетчатым фоном справа):

Объединенное базовое изображение и прозрачность, фактическая прозрачность Объединение базового изображения и прозрачности, клетчатый фон

Метод 1: ключевым моментом является привязка вставленного изображения — если у вас не открыто диалоговое окно слоев, не очевидно, что даже если вы «вставляете в», изображение не становится маской слоя, пока вы не скажете ему привязать . Вот что привело меня к поиску и приходу сюда.

Чтобы узнать об основах «маски слоя», взгляните на этот урок .

Общий алгоритм может быть:

  1. Создайте SomeMaskLayer с прозрачностью.
  2. Щелкните правой кнопкой мыши SomeMaskLayer и выберите « Альфа к выделению » ( в доке «Слои» ) .
  3. Выберите меню -> Сохранить в канале .
  4. Скрыть SomeMaskLayer . ( В доке "Слои" )
  5. Создайте SomeRasterLayer . (Файл -> Открыть как слои или нарисовать)
  6. Щелкните правой кнопкой мыши верхний слой и выберите « Добавить маску слоя ». ( В доке "Слои" )
  7. В диалоговом окне выберите опцию «Канал » и выберите новый канал в списке. Щелкните Добавить .

Хорошо, теперь у вас есть «живая маска».

  1. Щелкните правой кнопкой мыши -> Примените маску слоя к запекаемой маске на пиксели. ( В доке "Слои" )

Наслаждаться!

Спасибо за уроки. Однако - они предполагают опыт работы с графикой, а не с программированием. Кроме того, я не вижу боковые панели, которые они показывают, когда я открываю Gimp. В-третьих, я уже пытался открыть Image1 в качестве первого слоя, Image2 в качестве второго слоя, а затем добавить белую маску слоя, находясь на втором слое. Это не сработало.
Или, по крайней мере, оказалось, что это не работает. В изображении нет реальных изменений, инвертирую ли я цвета или нет.
1. о панелях (Доки в GIMP): попробуйте использовать однооконный режим: меню Окна/Однооконный режим .... 2.вероятно, скрыты только Доки: меню Окна/Скрыть доки (или нажмите Tab)
на новом канале мне пришлось установить «непрозрачность заливки» на 0. Также я не «применял маску слоя», потому что я все еще хочу иметь возможность изменять изображение. Я просто хотел применить прозрачность к определенным областям на всех слоях. Поэтому я добавил маску с опцией канала к каждому из слоев, и все сработало отлично, спасибо!
К вашему сведению, обе приведенные выше ссылки являются спамом.

Ответ @IlmariKaronen правильный, но предполагает небольшое знание GIMP, поэтому я пишу здесь пошаговое руководство, чтобы людям с нулевым знанием GIMP было легче следовать. Руководство предполагает, что альфа-канал должен быть найден как компонент другого изображения. Сначала давайте скопируем альфа-канал, который будет использоваться позже, выполнив следующие действия:

  • Откройте изображение, которое вы хотите использовать в качестве альфа-канала (или то, что оно содержит альфа-канал, который вы хотите использовать) в gimp;
  • В меню выберите « Цвет -> Компоненты -> Разложить »;
  • Во всплывающем окне выберите цветовую модель (RGB или RGBA), убедитесь, что флажок « Разложить как слои » установлен, а флажок « Передний план как регистрационный цвет» не установлен ;
  • Новое изображение открыто, из окна слоев удалите (щелчок правой кнопкой мыши, « Удалить слой ») или скройте (щелкните левой кнопкой мыши по первой кнопке эскиза) ненужные слои;
  • В меню выберите « Правка -> Копировать видимые ».

Затем вставьте скопированный альфа-канал в нужное изображение, выполнив следующие действия:

  • Откройте изображение, к которому вы хотите добавить альфа-канал, в gimp;
  • В окне слоев выберите единственный слой, щелкните правой кнопкой мыши « Добавить альфа-канал »;
  • В окне слоев выберите единственный слой, щелкните правой кнопкой мыши « Добавить маску слоя ».
  • Инициализируйте маску слоя на « Белый (полная непрозрачность) », нажмите « Добавить »;
  • В окне слоев выберите единственный слой, щелкните правой кнопкой мыши « Показать маску слоя »;
  • Вставьте ранее скопированный канал в активный контекст (CTRL+V) и привяжите его (CTRL+H);
  • В окне слоев выберите единственный слой, щелкните правой кнопкой мыши « Применить маску слоя »;
  • Сохраните проект или экспортируйте изображение в формат, поддерживающий прозрачность.