2012年10月4日 星期四

在 command 下使用 convert (imagemagick) 轉圖檔時,必需加的參數

以前我都用php裡的 gd function 來轉。不過會有一堆很麻煩的事,畫素不能調整(或說沒辦法調整成像 convert 的這麼好),又需要一大堆的判斷式。最後就安裝 convert ,直接用一行指令來轉,剩過十幾行的程式。但小缺點是 php 在 command line 下跑很久(15分鐘吧) 時 shell_exec 都會出問題,但可能我的用法是特例,所以你可能不需要擔心這件事。

首先要安裝 convert
sudo apt-get install imagemagick

一般轉檔大概是
convert original.jpg -thumbnail 200x200 -quality 90 thumb.jpg

但是,original.jpg 也有可能是 gif 動畫 (儘管檔名是jpg),會造成產生好幾份,像是 thumb.jpg[1], thumb.jpg[2], thumb.jpg[3]... 更可怕的是 thumb.jpg 不存在。

那就加個 [0] 吧!使用第一屏的動畫來進行轉檔
convert original.jpg[0] -thumbnail 200x200 -quality 90 thumb.jpg

也是可以將 動畫全部 merge 起來,不過\會是災難,轉出來的結果就像被曝光的底片一樣。