开始使用ImageMagic并尝试寻找方法来完成以下操作... 如果一张图片的高度或宽度小于50像素,则我想将其(无需缩放)置于一个新的50x50像素画布的水平/垂直中心,并保存为新的图像。 有人知道是否可以使用ImageMagick实现这个功能吗?谢谢!
开始使用ImageMagic并尝试寻找方法来完成以下操作... 如果一张图片的高度或宽度小于50像素,则我想将其(无需缩放)置于一个新的50x50像素画布的水平/垂直中心,并保存为新的图像。 有人知道是否可以使用ImageMagick实现这个功能吗?谢谢!
我使用了 -extent 命令来实现这个功能:
convert input.jpg -gravity center -background white -extent 50x50 output.jpg
-extent
之前放置重力属性: convert bg.png -gravity center -extent 640x960 -background white ../default@2x.png
。 - Cfr-extent
之前,必须先设置好 -background
。在上面的例子中,它起到了默认将背景设置为白色的作用。 - thetaconvert 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
请参考图片裁剪和边缘处理以获取大量示例。下面是一种简单的实现方法:
convert input.png -bordercolor Black -border 5x5 output.png
convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 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
convert in.png -resize 46x46 -background none -gravity center -extent 50x50 out.png
46x46的限制确保了至少2像素的边距。请注意,上述方法不会扭曲图像,例如矩形不会变成正方形。
我使用了background none
来设置透明背景,但您也可以选择纯色背景。