2011-07-18 37 views
1

我想使用libMagick.so庫裁剪gif圖像。使用使用libMagick裁剪gif圖像

./convert --version 
Version: ImageMagick 6.2.8 03/31/08 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html 

以下命令:

convert img.gif -crop 91x68+6+116 out.gif 

的out.gif圖像獲取作物,但不會重新大小。我得到相同的圖像大小,除了從左邊6個像素開始的91個像素和從頂部開始116個像素的68個像素之外,所有圖像都是透明的。

我怎樣才能使轉換命令裁剪,只留下裁剪部分作爲輸出圖像。順便說一下,當我的輸出圖像是JPG格式時,我得到了預期的結果。

回答

3

您需要添加-repage選項GIF文件:

convert img.gif -crop 91x68+6+116 -repage 0x0 out.gif 

的問題是,GIF格式可以包含多個圖片(大小不同)時,他們的動畫所以裁剪只是影響而圖像之一保持整體GIF畫布的大小不變。使用0x0爲畫布大小是一個簡單的快捷方式,使其ImageMagick的找出圖像應該多大:

給定爲零,如「爲0x0」力量的畫布大小它重新計算畫布大小等等圖像(在當前偏移處)將完全顯示在該畫布上。

+0

好吧,我試過你的想法,它部分工作。我發現,當我使用convert img.gif -crop 91x68 + 6 + 116! out.gif我得到我想要的結果,你能解釋爲什麼,請 – Oded

+0

@Oded:「部分工作」是什麼意思?幾何參數格式記錄在這裏:http://www.imagemagick.org/script/command-line-processing.php#geometry –