使用Imagemagick批量加水印缩小图片的脚本

安装Imagemagick
首先要安装Imagemagick

本文HTML永久地址 doc

CentOS上安装

yum install ImageMagick -y
Debian上安装

apt-get install ImageMagick -y
批处理脚本
#!/bin/bash
for each in /要处理的图片文件夹/*{.jpg,.gif}
do
s=`du -k $each | awk '{print $1}'`
if [ $s -gt 10 ]; then
convert -quality 80 -resize 600x800 $each $each
composite -gravity southeast -dissolve 80 /水印文件夹/mark.jpg $each $each 2>/dev/null
echo "$each: done!"
fi
done
exit 0
本脚本产生的新图片会覆盖原来的

convert -quality 80 -resize 600x800 $each $each
这个是进行图片缩小的 -quality 80代表图片质量,600x800是图片的大小600宽X800高,全部产生的图片大小都在600X800范围内。

composite -gravity southeast -dissolve 80 /水印文件夹/mark.jpg $each $each 2>/dev/null
这句是加图片水印的,文字水印的没写.-gravity southeast这个决定图片水印的位置south就是南east就是东也就是图片的右下角-dissolve 80这个是设置水印的透明度的.越小越透明.

$s -gt 10
这个是忽略小于10K的文件.防止给缩略图加上水印.

如果你保存的脚本名为water.sh 执行脚本

sh ./water.sh

你可能感兴趣的:(ImageMagick)