安装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批量加水印缩小图片的脚本的更多相关文章

  1. PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转

    [强烈推荐]下载地址(github.com/masterexploder/PHPThumb). 注意这个类库有一个重名的叫phpThumb,只是大小写的差别,所以查找文档的时候千万注意. 在网站建设过 ...

  2. Python实用案例,Python脚本,Python实现批量加水印

    往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 Python实现每日更换"必应图片"为"桌 ...

  3. php对图片加水印--将图片先缩小,再在上面加水印

    方法: /**  * 图片加水印(适用于png/jpg/gif格式)  *  * @author flynetcn  *  * @param $srcImg  原图片  * @param $water ...

  4. 如何用node.js批量给图片加水印

    上一篇我们讲了如何用node.js给图片加水印,但是只是给某一张图片加,并没有涉及到批量处理.这一篇,我们学习如果批量进行图片加水印处理. 一.准备工作: 首先,你要阅读完这篇文章:http://ww ...

  5. ImageMagick实现图片加水印(ImageMagick6.9.10)

    一,ImageMagick的安装 请参见: https://www.cnblogs.com/architectforest/p/12807514.html 说明:刘宏缔的架构森林是一个专注架构的博客, ...

  6. C#给图片加文字和图片的水印

    /// <summary> /// WaterMark 的摘要说明 /// </summary> /// 图片加水印 /// <param name="strC ...

  7. PHP给图片加水印具体实现

    给图片加水印实现方法如下: class Mark { public function __construct() { } /** * 加水印 * @param file $srcImg 要加水印的图片 ...

  8. c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)

    c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...

  9. ASP.NET(C#)图片加文字、图片水印,神啊,看看吧

    ASP.NET(C#)图片加文字.图片水印 一.图片上加文字: //using System.Drawing; //using System.IO; //using System.Drawing.Im ...

随机推荐

  1. 【Excle数据透视表】如何禁用数据透视表的总计行/列

    如上图:有行合计也有列合计.现在我们需要将行列合计都去除,如何操作呢? 解决办法一: 数据透视表区域任意单元格→数据透视表工具→设计→布局→总计→对行和列禁用 解决办法二: 数据透视表区域任意单元格→ ...

  2. VM里面的桥接

      今天我们谈一谈桥接模式,一般的时候,我用的是NAT模式,需要设置另一个虚拟网卡的IP地址,而不是借助本机的物理网卡.   编辑---虚拟网络编辑器 有些时候直接设置桥接到某个网卡可能会不成功,我们 ...

  3. Loadrunner中对中文进行UTF-8转码的探索

    上一篇 / 下一篇  2010-02-22 15:20:28 查看( 2378 ) / 评论( 2 ) / 评分( 5 / 0 ) 这是一个HTTP接口测试中经常会碰到的问题,目前的服务器采用的都是U ...

  4. hdu 神、上帝以及老天爷 java

    问题: 递推.可是a[i]=(a[i-1]+a[i-2])+(i-1)公式没有推出来. 在递推时,for循环约束值用的输入的m导致数组没有储存数. 在算阶乘时for循环中将i和j用混了,导致没有数输出 ...

  5. 将NSArray反向排序

    NSArray * array = [NSArray arrayWithObjects:", nil]; NSArray * reverseArray = [[array reverseOb ...

  6. tony_update yum

    更改方法是这样的 在 /etc/yum.repos.d 下 1  wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 2  #mv  Cen ...

  7. thread.join() 方法存在的必要性是什么?

    好久远的问题,为什么关注这个问题的人这么少? 或许是用到这个功能的情形比较少吧. 1.等待处理结果 为什么要用join()方法在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算 ...

  8. hadoop partitioner个数与reducer个数的试验

    job.setPartitionerClass(myPartitioner.class);//设置了5个 job.setNumReduceTasks(2); 1.当分区数等于rducer数量时,正常运 ...

  9. 蒙特卡洛方法计算圆周率的三种实现-MPI openmp pthread

    蒙特卡洛方法实现计算圆周率的方法比较简单,其思想是假设我们向一个正方形的标靶上随机投掷飞镖,靶心在正中央,标靶的长和宽都是2 英尺.同时假设有一个圆与标靶内切.圆的半径是1英尺,面积是π平方英尺.如果 ...

  10. hasOwnProperty()与in操作符的区别

    hasOwnProperty()  判断属性是否是实例化(不包括原型)的属性, 存在会返回true; 否则, 返回false in  无论属性是存在实例本身中, 还是原型对象中, 存在会返回true; ...