Imagemagick 放大图像画布以补偿模糊

Imagemagick 放大图像画布以补偿模糊,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,我有一张图像,我正在用imagemagick处理以添加模糊: convert input.png -blur 0x16 output.png 但是,当模糊超出图像帧时,会对其进行裁剪。我如何补偿这一点,并扩大画布,让蓝色得到充分展示 示例图像您链接的图像是JPEG,而不是您的命令所建议的PNG,因此我不知道它是否具有透明度,或者它是否应该在电视图像周围有大量的备用画布。因此,我猜你想要什么 您可以通过指定-gravity center并使用-extent从中心向外延伸画布,以便为模糊留出空间,

我有一张图像,我正在用imagemagick处理以添加模糊:

convert input.png -blur 0x16 output.png
但是,当模糊超出图像帧时,会对其进行裁剪。我如何补偿这一点,并扩大画布,让蓝色得到充分展示


示例图像

您链接的图像是JPEG,而不是您的命令所建议的PNG,因此我不知道它是否具有透明度,或者它是否应该在电视图像周围有大量的备用画布。因此,我猜你想要什么

您可以通过指定
-gravity center
并使用
-extent
从中心向外延伸画布,以便为模糊留出空间,如下所示:

convert image.jpg -gravity center -extent 120%x120% -blur 0x16 output.jpg
convert image.jpg -gravity center -extent 120%x120% -blur 0x16 -trim output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 -shave 400x400 output.png
但是,这会引入比您需要的更多的画布,因此您可能希望在以后对其进行修剪,如下所示:

convert image.jpg -gravity center -extent 120%x120% -blur 0x16 output.jpg
convert image.jpg -gravity center -extent 120%x120% -blur 0x16 -trim output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 -shave 400x400 output.png
作为替代方案,您可以添加一些白色边框(我选择了500像素),如下所示:

convert image.jpg -gravity center -extent 120%x120% -blur 0x16 output.jpg
convert image.jpg -gravity center -extent 120%x120% -blur 0x16 -trim output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 -shave 400x400 output.png
然后用
-shave
这样的方法去除你想要的东西:

convert image.jpg -gravity center -extent 120%x120% -blur 0x16 output.jpg
convert image.jpg -gravity center -extent 120%x120% -blur 0x16 -trim output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 output.png
convert image.jpg -bordercolor white -border 500x500 -blur 0x16 -shave 400x400 output.png