如何将图像列表中的图像调整为相同大小

时间:2019-04-12 08:39:45

标签: imagemagick

我想使用ImageMagick将蒙版应用于图像。但是由于图像和蒙版的大小不同,我想拉伸/缩放蒙版以适合图像。

通常输入的图像为2000x500px,但可以为1000x500px或其他任何值,而蒙版则为400x200px。

因此,如果我知道输入图像始终为2000x500px,我可以这样做:

# Resize all images in the list to 2000x500
convert inputfile.png mask.png -resize 2000x500\! \
    -compose over -composite \
    outputfile.png

# Resize only the mask to 2000x500
convert inputfile.png \
    \( mask.png -resize 2000x500\! \) \
    -compose over -composite \
    outputfile.png

但是我的问题是我不知道输入文件的大小!那么如何将蒙版调整为与列表中第一张图像相同的大小?

1 个答案:

答案 0 :(得分:2)

使用ImageMagick,您可以使用“扭曲SRT”的缩放功能来调整遮罩的大小,以匹配输入图像的尺寸。一个示例命令可能看起来像这样...

convert input.png mask.png \
   -set option:distort:viewport %[fx:u.w]x%[fx:u.h] \
   -distort SRT "0,0 %[fx:u.w/s.w],%[fx:u.h/s.h] 0 0,0" \
   -composite result.png

这会将视口设置为输入图像的尺寸,然后缩放两个图像以适合该视口。当然,输入图像的大小不会改变,因为它会缩放为1/1。