linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法
要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick:
CentOS上安装:
yuminstallImageMagick-y
Debian上安装:
apt-getinstallImageMagick-y
脚本:
#!/bin/bash foreachin/要处理的图片目录/*{.jpg,.gif} s=`du-k$each|awk'{print$1}'` if[$s-gt10];then #convert-quality80-resize600x800$each$each composite-gravitysoutheast-dissolve80/<ahref="http://www.jincon.com/tag/%25E6%25B0%25B4%25E5%258D%25B0/"rel="externalnofollow"onclick="javascript:tagshow('水印');returnfalse;">水印</a>目录/mark.jpg$each$each2>/dev/null echo"$each:done!" fi done exit0
主要是脚本,对此我们来简单分析一下:
convert-quality80-resize600x800$each$each
这个是进行图片缩小的
-quality80 代表图片质量
600x800 图片的大小600宽X800高
不需要的去掉就好!
composite-gravitysoutheast-dissolve80/水印目录/mark.jpg$each$each2>/dev/null
这句是加图片水印的
-gravitysoutheast 图片水印的位置south就是南east就是东也就是图片的右下角
-dissolve 80这个是设置水印的透明度的.越小越透明.
/水印目录/mark.jpg 水印图片的位置
if[$s-gt10] 判断图片大小小于10K的不加水印
foreachin/要处理的图片目录/*{.jpg,.gif} 需要加水印的目录需要加水印的文件格式
上面文件配置好之后,保存为watermark.sh
然后运行就好
sh./watermark.sh