У меня есть два JPG, один big.jpg
и другой small.jpg
.
Я хочу извлечь регион region.jpg
из big.jpg
того же размера, что и small.jpg
и объединить region.jpg
и small.jpg
в result.jpg
. result.jpg
равен small.jpg
, за исключением границы в 16 пикселей, где он становится все более похожим на region.jpg
.
Используя ImageMagick, я сделал это в два этапа, сначала сделав полупрозрачный PNG:
convert -compress None small.jpg -channel A -virtual-pixel transparent -morphology Distance Euclidean:4,16! semitransparent.png
convert -compress None big.jpg -crop wxh+x+y semitransparent.png -composite result.jpg
Есть ли способ сделать это за один шаг, не генерируя промежуточный PNG? Я попробовал это:
convert -compress None big.jpg -crop wxh+x+y small.jpg -channel A -virtual-pixel transparent -morphology Distance Euclidean:4,16! -composite result.jpg
Но это не совсем то же самое: полупрозрачный слой не становится действительно прозрачным по краю.
Я новичок в ImageMagick (что за сложная часть программного обеспечения!), Любые предложения будут оценены.
РЕДАКТИРОВАТЬ
Я добавляю файлы big.jpg
и small.jpg
для игры вместе с result.jpg
который выходит из двухстрочного решения, и result2.jpg
который выходит из oneliner. -crop
я использовал 200x160+160+80