使用ImageMagick将图像放置在较大的画布中

使用ImageMagick将图像放置在较大的画布中,imagemagick,Imagemagick,开始使用ImageMagic并尝试找到一种方法来实现此目的。。。如果一个图像小于50像素高或50像素宽,我希望将其(未缩放)放置在白色背景上新的50x50像素画布的水平/垂直中心,并将其另存为新图像。有人知道这在ImageMagick中是否可行吗?谢谢 有关大量示例,请参见。以下是一种简单的方法: convert input.png -bordercolor Black -border 5x5 output.png 当然,您需要根据输入图像的尺寸计算要添加的边框的大小(如果有)。您是使用Ima

开始使用ImageMagic并尝试找到一种方法来实现此目的。。。如果一个图像小于50像素高或50像素宽,我希望将其(未缩放)放置在白色背景上新的50x50像素画布的水平/垂直中心,并将其另存为新图像。有人知道这在ImageMagick中是否可行吗?谢谢

有关大量示例,请参见。以下是一种简单的方法:

convert input.png -bordercolor Black -border 5x5 output.png
当然,您需要根据输入图像的尺寸计算要添加的边框的大小(如果有)。您是使用ImageMagick API,还是仅使用命令行工具?

您可以使用它来执行此操作。所以它看起来像这样:

convert-size 50x50 xc:white null:(my_image.png-coalesce)-重心-层复合-层优化输出。png

我尝试了以下方法:

convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png

我使用-extent来执行此操作:

convert input.jpg -gravity center -background white -extent 50x50  output.jpg

要修改源图像,需要使用mogrify:

mogrify -gravity center -background white -extent 50x50  source.jpg

我想做同样的事情,只是把图像缩小到70%。我用了这个:

convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png

不完全是要求的,但希望它能帮助某人;)

我曾经使用此代码将图像放置在白色背景的新画布的中心。希望这对你有帮助

convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg

您使用的是哪种API?对于我来说,重力应该放在
-extent
convert bg.png-重心-extent 640x960-背景白色/default@2x.png
。。。而且在
-extent
之前必须设置
-background
。在上面的示例中,它的工作原理是默认设置背景为白色。顺便说一句,如果您想添加透明度,请使用xc:transparent作为背景参数。有人能解释如何使用php实现这一点吗?据我所知,我尝试了这个精确的序列,我的图像总是在最左边和最上面,而不是居中。@billynoah我不知道,因为我不使用php,但这似乎是一个单独的问题,为什么不为此发布一个新问题。这可能不是问题的解决方案,但是+1,因为它帮助我创建了9patch图像。:)