linux下用Imagemagick批量處理圖片

首先安裝Imagemagick
我的是debian系統
1 #Debian安裝imagemagick
2 apt-get install imageMagick -y
3 #這裏可能很多同學會發現系統會提示未找到安裝包,可以先執行
4 apt-get update && apt-get -f upgrade
5 #再執行
6 apt-get install imageMagick -y
7 #如果還是提示未找到安裝包之類的就執行
8 aptitude install imagemagick

如果是centos的系統當然就得執行

1 yum install imageMagick -y

安裝完ImageMagick
編寫批量處理圖片的腳本

01 #!/bin/bash
02 for each in /home/www/website/imgfloder/*{.jpg,.gif,.png}
03 do
04 s=`du -k $each | awk '{print $1}'`
05 if [ $s -gt 10 ]; then
06     convert -quality 80 -resize '750x540>' $each $each
07     composite -gravity southeast -dissolve 80 /home/www/website/watermark.png $each $each 2>/dev/null
08     echo "$each: done!"
09 fi
10 done
11 exit 0

說明:
以上腳本處理的時候處理後的圖片會覆蓋原始圖片
/home/www/website/imgfloder/,這是待處理圖片的目錄,即,將對該目錄內的所有圖片處理
if [ $s -gt 10 ],表示不對大小小於10kb的圖片進行處理
convert -quality 80 -resize ’750×540>’,表示處理後的圖片質量爲原圖片的80%,並對尺寸大於750*540的圖片縮小至此範圍內,而對小於此尺寸的不做處理。
-gravity southeast,這個決定圖片水印的位置south就是南east就是東也就是圖片的右下角。
-dissolve 80,這個是設置水印的透明度的80代表透明度,這個數值越小越透明。

最後將腳本存儲後執行就可以了,例如將腳本存爲crimg.sh,執行sh ./crimg.sh即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章