Imagemagick 创建图像并以最大尺寸将图像放入其中

Imagemagick create image and place image inside with max size

我已经修剪了 .png 文件,需要将它们放在最大尺寸的 canvas(3000x3000 像素)但是 上。

convert -size 3000x30000 xc:transparent test.png -gravity south -composite -size 2200x2200 result.png

我的代码现在可以工作了,但是图像的大小不对。我的 canvas 是预期的 3000x3000 像素,但放置在 canvas 上的图像尺寸不正确。它的最大 width/height 应为 2200 像素,如果可能,如果它们在 高度 .

中太小,则应按比例放大

Unix 语法:

convert -size 3000x30000 xc:transparent \( test.png -resize 2200x2200 \) -gravity south -composite result.png


Windows 语法:

convert -size 3000x30000 xc:transparent ( test.png -resize 2200x2200 ) -gravity south -composite result.png


此 ImageMagick 命令会将输入图像的长边调整为 2200 像素,同时保持其纵横比,然后创建 3000x3000 透明 canvas,然后交换输入图像和 canvas,以及最后将调整大小的输入图像合成到透明 canvas...

convert input.png -resize 2200x2200 \
   -size 3000x3000 xc:none +swap -gravity south -composite result.png

对于 Windows,将续行反斜杠“\”更改为脱字符“^”。对于 ImageMagick v7 使用 "magick" 而不是 "convert".

为什么不使用-extent?

convert input.jpg -resize 2200x2200 -background none -gravity south -extent 3000x3000 result.png