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