使用ImageMagick将图像放置在较大的canvas内
ImageMagic入门,并试图find一种方法来做到这一点…如果一个图像小于50像素高或50像素宽,我想把它(未缩放)的水平/垂直中心的一个新的50×50像素canvas在白色背景之上 – 并保存为新的图像。 任何人都知道这是可能的ImageMagick? 谢谢!
我用-extent来做到这一点:
convert input.jpg -gravity center -background white -extent 50x50 output.jpg
看到切割和接壤的例子很多。 这里有一个简单的方法可以做到这一点:
convert input.png -bordercolor Black -border 5x5 output.png
当然,您需要根据input图像的尺寸计算添加边框的大小(如果有的话)。 您是使用ImageMagick API,还是只使用命令行工具?
我试过这个:
convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png
我也想这样做,除了把图像缩小到70%以内。 我用这个:
convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png
不完全是要求,但希望它会帮助某人;)。
你可以使用单一的组合来做到这一点。 所以它看起来像这样:
convert -size 50x50 xc:white null: ( my_image.png -coalesce ) -gravity Center -layers Composite -layers Optimize output.png
要修改源图像,您需要使用mogrify:
mogrify -gravity center -background white -extent 50x50 source.jpg
我曾经使用过这段代码将图像放置在一个白色背景的新canvas的中央。 希望对你有帮助
convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg