2013年7月14日 星期日

bash下批次縮小目前目錄中所有圖片

指令:

for file in *; do convert $file -scale 50% ../small_0.5/`basename $file`; done

上述指令可以將目錄內所有檔案縮小50%,存放到上層的small_0.5目錄中


上面這個作法遇到gif動畫會破功,無法產生縮放過後的gif動畫,只剩下第一個frame。要能正確縮放gif動畫,需用到底下

for file in *; do convert  $file -coalesce -scale 50%  ../small_0.5/`basename $file`; done

for file in *; do convert  $file -coalesce -sample 50%  ../small_0.5/`basename $file`; done

兩種作法都可以,但是根據文件,產生的結果可能畫質上會有所差異,哪個方法比較好可能要看實際狀況才能判斷。

ImageMagick參考資料:
http://www.imagemagick.org/Usage/anim_mods/#crop

以上需要有ImageMagick套件(convert 這隻程式屬於ImageMagick套件成員之一)

沒有留言: