2009-11-24 35 views
47

ImageMagic入门并尝试找到一种方法来执行此操作...如果图像的高度小于50像素或50像素宽,我希望放置它(未缩放)在白色背景上的新的50x50像素画布的水平/垂直中心 - 并将其保存为新图像。任何人都知道ImageMagick可以做到这一点吗?谢谢!使用ImageMagick在较大的画布中放置图像

+0

你正在使用哪个API? – John 2009-11-24 02:18:00

回答

3

请参阅cutting and bordering了解大量示例。这里有一个简单的方法,你可以做到这一点:

convert input.png -bordercolor Black -border 5x5 output.png 

当然,你需要(如果有的话)基于输入图像的尺寸来计算边框的大小增加。您是使用ImageMagick API还是只使用命令行工具?

+0

这可能不是问题的解决方案,但+1帮助我创建了9张图片。 :) – unexist 2013-08-05 13:02:58

1

您可以使用single composition来做到这一点。因此,这将是这个样子:

convert -size 50x50 xc:white null: (my_image.png -coalesce) -gravity Center -layers Composite -layers Optimize output.png

3

我尝试这样做:

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

我用-extent做到这一点:

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

至于我,引力应该放在'-extent'前面:'convert bg.png -gravity center -extent 640x960 -background white ../ default @ 2x.png' – Cfr 2012-09-07 13:41:32

+5

...还有'-background'必须在'-extent'之前设置。在上面的例子中,它作为背景设置为默认白色 – theta 2012-09-30 04:00:33

+0

我更新了示例,谢谢! – Jared 2012-10-09 18:29:21

1

要修改您所需要的源图像使用mogrify:

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

我想要做同样的事情,除了将图像缩小到70%以内。我用这个:

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

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

3

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

convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg 
相关问题