首先安装Imagemagick
我的是debian系统
我的是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即可。