2013-04-02 28 views
0

我從Java應用程序調用下面的命令:ImageMagick的convert命令生成大量的圖像,而不只是一個

/usr/bin/convert "companies.png" -strip -quality 67 -density 92 -resize "300x>" -crop "300x300>" -format png result.png 

而是獲得倒退一個圖像,裁剪在300x300的調整大小後,我得到六片相同的圖像,每個300px高,這不是我所期望的。

任何想法如何我可以改變這個命令只是得到圖像?這是後端服務,因此產生未知數量圖像的東西並不是很理想。

原始圖像可here

回答

2

它應該有這樣的:

/usr/bin/convert "companies.png" -strip -quality 67 -density 92 -resize "300x>" -crop "300x300>+0+0" -format png result.png 
+0

任何想法,爲什麼+ 0 + 0的問題? –

+1

令人敬畏的獅子座!會付給你,我們遇到一個啤酒下一時間:d –

+0

這是一個給定的[幾何]的偏移(http://www.imagemagick.org/script/command-line-processing.php#geometry)。如果添加重力,它會更改圖像將被裁剪的位置。我無法解釋爲什麼發生這種情況,我一直在用心這個很長一段時間! :d –

1

我看到同樣的事情。然而,FF我轉換爲JPG格式第一

convert companies.png companies.jpg 

然後運行在新的JPG你的命令只有一個文件出來(JPG或PNG輸出表現與JPG輸入相同)。輸入格式似乎很重要,這很奇怪。

/usr/bin/convert "companies.jpg" -strip -quality 67 \ 
    -density 92 -resize "300x>" -crop "300x300>" \ 
    -format png result.png #-> one file result.png 
1

您只需將選項-delete 1--1添加到參數列表。這樣,您將刪除從1(序列的第一個圖像)到-1(序列的最後一個圖像)的索引範圍。結果將是一個單獨的result.png文件。

命令行將會是這樣的:

convert original.png -strip -quality 67 -density 92 -resize '300x>' -crop '300x300>' -format png -delete 1--1 result.png 
相關問題