Объединить два изображения с прозрачностью в imagemagick

У меня есть два изображения без прозрачности (две фотографии), и я хочу объединить эти изображения в одно изображение, где первое изображение покрывает второе изображение. Как масштабировать эти изображения до одинакового размера и объединить с прозрачностью, как в примере ниже?

пример результата

1 ответ

Решение

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

Давайте для простоты предположим, что вы только что подготовили два изображения. Посмотрите на [ 1], [ 2], чтобы лучше понять, как это работает. Во второй ссылке [ 2] вы можете догадаться на примерах о методах, доступных в Imagemagick, для добавления двух изображений.

Вероятно, -dissolve [ 3] или -blend Опция[ 4] - это то, что вы ищете:

composite -dissolve 50 -gravity Center a.jpg b.jpg -alpha Set result.jpg

Еще один способ сделать это может быть [ 5]

convert FUfstEv.jpg  \
\( ChYNTch.jpg -alpha set -channel a -evaluate set 50% +channel \) \
-gravity center -compose over -composite result1.jpg

При необходимости может потребоваться дополнительная операция для масштабирования изображения... В качестве дополнительной ссылки вы можете увидеть [ n]. Смотрите снова эту страницу [ 5] для некоторых примеров.

В общем синтаксис dissolve Опция может быть похожа на следующую:

составной -растворяющий {аргумент} -гравитационный центр \
1.gif 2.gif -alpha Set {результат}

Другие вопросы по тегам