使用ImageMagick创建固定大小的合成图像

使用ImageMagick创建固定大小的合成图像,imagemagick,Imagemagick,我有两张照片。一个可以是任何大小和纵横比。另一个基本上是一个图案圆的PNG掩码,我想覆盖在另一个图像上,调整另一个图像的大小以适应PNG覆盖的大小 我有一些基本的工作经验: composite -compose atop -geometry +0+0 -resize 75x73 lib/source/overlay.png #{temp_object.path} #{tempfile.path} 但是,如果源图像的纵横比不适合覆盖,则这不起作用。ImageMagicks生成的图像裁剪覆盖以适合

我有两张照片。一个可以是任何大小和纵横比。另一个基本上是一个图案圆的PNG掩码,我想覆盖在另一个图像上,调整另一个图像的大小以适应PNG覆盖的大小

我有一些基本的工作经验:

composite -compose atop -geometry +0+0 -resize 75x73 lib/source/overlay.png #{temp_object.path} #{tempfile.path}
但是,如果源图像的纵横比不适合覆盖,则这不起作用。ImageMagicks生成的图像裁剪覆盖以适合源图像

那么,我如何调整这一点,使源图像的大小等,以适应覆盖和我的结果图像始终是相同的大小,并包含完整的覆盖

示例图像:


这是你想做什么的一种方法

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

这是做你想做的事的一种方法

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