要實現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 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
然后運行就好
sh ./watermark.sh
新聞熱點
疑難解答