要實現linux下採用shell指令碼批量為指定檔案夾下圖片添加浮水印,首先需要安裝imagemagick:
CentOS上安裝:
yum install ImageMagick -y
Debian上安裝:
apt-get install ImageMagick -y
指令碼:
#!/bin/bashfor each in /要處理的圖片目錄/*{.jpg,.gif}s=`du -k $each | awk '{print $1}'`if [ $s -gt 10 ]; then #convert -quality 80 -resize 600x800 $each $each composite -gravity southeast -dissolve 80 /<a href="http://www.jincon.com/tag/%25E6%25B0%25B4%25E5%258D%25B0/" rel="external nofollow" onclick="javascript:tagshow('浮水印');return false;">浮水印</a>目錄/mark.jpg $each $each 2>/dev/null echo "$each: done!"fidoneexit 0
主要是指令碼,對此我們來簡單分析一下:
convert -quality 80 -resize 600x800 $each $each
這個是進行圖片縮小的
-quality 80 代表圖片品質
600x800 圖片的大小 600寬X800高
不需要的去掉就好!
composite -gravity southeast -dissolve 80 /浮水印目錄/mark.jpg $each $each 2>/dev/null
這句是加圖片浮水印的
-gravity southeast 圖片浮水印的位置south就是南east就是東也就是圖片的右下角
-dissolve 80這個是設定浮水印的透明度的.越小越透明.
/浮水印目錄/mark.jpg 浮水印圖片的位置
if [ $s -gt 10 ] 判斷圖片大小 小於10K的不加浮水印
for each in /要處理的圖片目錄/*{.jpg,.gif} 需要加浮水印的目錄 需要加浮水印的檔案格式
上面檔案配置好之後,儲存為watermark.sh
然後運行就好