Я пытаюсь взять альфа-канал из одного изображения и применить его к другому.

В данном конкретном случае я хочу "исправить" углы на розовом. Я хочу использовать альфа-канал из черного. Это должно приятно сгладить углы.

источник-1 альфа-1

источник-уголок альфа-уголок

Я пробовал такие команды, как convert pink.png black.png -compose copy-opacity -composite out.png но кажется, что он обладает той же прозрачностью, что и раньше.

Может кто-нибудь объяснить, пожалуйста, как это сделать?

1 ответ1

0

Прямой ответ

Чтобы сделать так, чтобы pink.png имел тот же альфа-канал, что и black.png используйте:

convert pink.png black.png -compose CopyOpacity -composite PNG32:fixed.png

объяснение

Основная проблема заключалась в том, что Imagemagick не выбирал формат PNG, который поддерживает полупрозрачные пиксели. Вот почему мои края стали неровными, когда я менял цвет в первую очередь. У вас есть несколько вариантов для поддержания частичной прозрачности:

convert (command) PNG32:out.png
convert (command) PNG64:out.png
convert (command) out.tif

Обратитесь к документации Imagemagick по подформатам PNG, чтобы узнать, какой тип альфа-канала у каждого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .