2012-04-19 7 views
1

У меня есть два изображения. Могут быть любые размеры и пропорции. Другой по существу представляет собой PNG-маску узорчатого круга, которую я хочу наложить поверх другого изображения, изменяя размер другого изображения в соответствии с размером наложения PNG.Создание композитных изображений фиксированного размера с ImageMagick

У меня есть основы работы с:

composite -compose atop -geometry +0+0 -resize 75x73 lib/source/overlay.png #{temp_object.path} #{tempfile.path} 

Однако, это не работает, если соотношение сторон источника изображения в не устраивает накладку. Образ изображения ImageMagicks обрезает наложение в соответствии с исходным изображением.

Итак, как я могу настроить это так, чтобы исходное изображение изменялось и т. Д., Чтобы вписаться в оверлей, и мое результирующее изображение всегда одного размера и содержит полный оверлей?

Пример изображения:

enter image description here enter image description here

ответ

4

Это один из способов сделать то, что вы хотите?

convert input.jpg -thumbnail 200x200^ -gravity center -crop 200x200+0+0 mask.png -composite output.jpg 

Другой метод

composite input.jpg -thumbnail 200x200^ mask.png -gravity center -compose screen -matte output.jpg 
Смежные вопросы