2009-11-24 74 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 
相關問題