全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2222|回复: 11
打印 上一主题 下一主题

[经验] 发一个在linux的VPS批量加水印缩小图片的脚本

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-9 20:50:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先要安装Imagemagick
CentOS上安装
  1. yum install ImageMagick -y
复制代码
Debian上安装
  1. apt-get install ImageMagick -y
复制代码
  1. #!/bin/bash
  2. for each in /要处理的图片目录/*{.jpg,.gif}
  3. do
  4. s=`du -k $each | awk '{print $1}'`
  5. if [ $s -gt 10 ]; then
  6.     convert -quality 80 -resize 600x800 $each $each
  7.     composite -gravity southeast -dissolve 80 /水印目录/mark.jpg $each $each 2>/dev/null
  8.     echo "$each: done!"
  9. fi
  10. done
  11. 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这个是设置水印的透明度的.越小越透明.
假设你保存的脚本名为water.sh
可通过下面命令进行执行
  1. sh ./water.sh
复制代码

评分

参与人数 3威望 +19 收起 理由
whos + 7 精品文章
bestroot + 7 好帖为什么没有人加?
cuijz + 5 精品文章

查看全部评分

2#
发表于 2010-8-9 21:22:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
3#
 楼主| 发表于 2010-8-9 21:28:00 | 只看该作者
$s -gt 10这个是忽略小于10K的文件.防止给缩略图加上水印.
4#
发表于 2010-8-9 21:54:32 | 只看该作者
早就在找这个了。。。
不过目前没必要了,图片还是别这样处理了。。。
5#
发表于 2010-8-10 13:01:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
6#
发表于 2010-8-10 14:15:26 | 只看该作者
原帖由 490775 于 2010-8-9 21:22 发表
图片站的福音
7#
发表于 2010-8-10 14:31:41 | 只看该作者
图片站的福音
8#
发表于 2010-8-10 16:44:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
9#
发表于 2010-8-10 16:45:24 | 只看该作者
谢谢你
10#
发表于 2010-8-10 16:47:02 | 只看该作者
感谢分享,留个记号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-31 05:39 , Processed in 0.101835 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表