一个非盈利组织的项目负责人突发奇想想给他们网站上的每张照片加上水印,说实话那些照片都是平时活动、party 的生活照片用不着用水印那么夸张,第一次听说给生活照加水印的。没办法,谁让我们和他们有合作项目呢。还好他们服务器用的是 Linux,在 Linux 下给图片批量加水印简单多了,用 imagemagick + 一个小脚本搞定。

在 CentOS 下安装:

# yum install ImageMagick

在 Ubuntu 下安装:

$ sudo apt-get install imagemagick

先用画图工具制作好一个水印图片 watermark.jpg,然后执行 composite 命令把这个 watermark.jpg 水印加到图片 vpsee.jpg 上,-dissolve 15 是指 watermark.jpg 使用15%的透明附在原图上:

$ composite -gravity northeast -dissolve 15 watermark.jpg vpsee.jpg vpsee.jpg

要事先做个 watermark.jpg 好麻烦,有没有不用 watermark.jpg 直接加水印的方法?有,不过这种方法需要 Linux 系统上已经安装 True 字体(一般来说服务器都没有安装,不建议为了一个水印安装一个硕大的字体),以下命令把 vpsee.com 字符串加到 image.jpg 图片上:

$ mogrify -font /usr/share/fonts/truetype/thai/Purisa.ttf -pointsize 15 \

-verbose -draw "fill black text 5,23 'vpsee.com' \

fill orange text 6,24 'vpsee.com' " image.jpg

可以用下面的 shell script 对某个目录的所有图片加水印,需要注意的是处理带空白字符的文件名很麻烦,所以下面的脚本先处理空白字符,把包含空白字符的文件名用 “_” 字符替代,比如:image 1.jpg 替换成 image_1.jpg:

#!/bin/bash

echo "Image watermarking Script"

echo "http://www.vpsee.com"

echo ""

if [ $# -ne 2 ]

then

echo "usage: ./watermark watermark.jpg picture_directory"

echo ""

exit

fi

MARK=$1

PICDIR=$2

for each in $PICDIR/*{.jpg,.jpeg,.png,.JPG,.JPEG,PNG}

do

mv "$each" `echo $each | tr ' ' '_'`;

composite -gravity northeast -dissolve 15.3 $MARK $each $each 2> /dev/null

echo "$each: done!"

done

exit 0

imagemagick 的功能很强大,把上面脚本中的 composite 一行换成下面这行就成了批量给图片改大小了:

$ convert -resize 400 old_image.jpg new_image.jpg

如果想直接把原图改小,用新图片覆盖原图片的话:

$ convert -resize 400 image.jpg image.jpg

Linux打印添加水印,Linux 下给图片批量加水印相关推荐

  1. python批量添加水印_python 给目录下的图片批量加水印

    python 给目录下的图片批量加水印 water.py 放到 图片文件夹里 然后cd 到当前文件夹 python water.py #coding=utf-8 import Image import ...

  2. linux内存水印,Linux图片批量加水印

    在 Linux 下给图片批量加水印很简单,以imagemagick为基础,使用一个Shell命令即可搞定. 批量处理图片需要ImageMagick,ImageMagick的功能 1. 将图片从一个格式 ...

  3. 如何给图片批量加水印?

    如何给图片批量加水印?如果你是开网店的,或者你是一名自媒体创作者,为了防止自己的图片不被别人盗用,每天肯定需要给大量的图片添加水印,如果图片数量较多,那么工作量就肯定非常的大,每天肯定要花费大量的时间 ...

  4. php 图片批量加水印

    本文实例讲述了PHP图片加水印实现方法.分享给大家供大家参考,代码不是很完善,欢迎大家多多指教!代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  5. html图片加文字批量处理,图片批量加水印工具,图片批量添加文字|图片同时添加文字或图片水印...

    一般在网上下载的图片都会自动带有相应网站的文字或是图片水印,虽然可能在使用图片素材的时候,图片上的水印会在一定程度上影响美观,但是水印是对于版权或者是原创的一个保护,图片水印不仅是可以保护别人的原创图 ...

  6. 将.docx文件中的图片批量加水印

    如何给word文档里面的图片加水印? 有时候我们可能遇到这样的情况:要给一个word文档里面很多图片加上专属的水印,一张一张将图片复制粘贴出来,弄好水印再加到文档中无疑是件很麻烦的事.那么有没有办法可 ...

  7. doc类型文件中的图片批量加水印

    有一个doc/docx类型的文档,其中的图片均无水印,目的是快速实现快速给文档中所有的图片加上统一的水印. 参考视频:如何给word文件中的图片批量添加水印 1.首先,有一个文档,其中的图片都没有水印 ...

  8. 发布一款给图片批量加水印的程序PicNet V1.0

    PicNet V1.0 下载: http://files.cnblogs.com/skywind/picnet1.0.rar (绿色软件,但需要.netFramwok2.0支持,见置顶文章说明) 技术 ...

  9. web前端打印页面,并在图片上加水印

    在不影响页面显示的情况下,单一的前端打印页面,使用下面的方法,交互是比较顺畅的,代码撸给大家做参考.解决的问题点如下: 1.纯前端打印页面,并且保证打印的页面数据显示不会被篡改. 2.不影响页面显示, ...

最新文章

  1. 30分钟入门Java8之默认方法和静态接口方法
  2. keytool生成证书_创建自签名ssl证书,Java生产jks证书
  3. POJ1719行列匹配
  4. 松开手,你可以拥有更多
  5. 5个相见恨晚的神器网站
  6. Spring在web中的使用
  7. epub 机器人系列 阿西莫夫_艾萨克·阿西莫夫是不是穿越来的,他怎么能那么准地预言机器人,互联网技术呢?...
  8. Spring MVC —— 前后台传递JSON
  9. jquery中checkbox全选失效的解决方法
  10. 三元操作符(即条件表达式)
  11. 89C52定时/计数器
  12. 1602-LiquidCrystal库
  13. 'gbk' codec can't encode character '\u301c' in position 12: illegal multibyte sequence问题解决
  14. wget 下载失败,使用“--no-check-certificate”,/C=US/O=Let‘s Encrypt/CN=R3” 颁发的证书
  15. Windows7 半角全角快捷键 修改方法
  16. 疯狂python讲义学习日志11——并发编程
  17. K8S==springboot项目生成image部署到K8S
  18. 鹰眼轨迹管理平台移植
  19. 在js中使用ejs标签,js中引用ejs变量
  20. TIB自动化测试工作室2012年总结与2013年展望

热门文章

  1. Android中给定一个日期判断是周几.
  2. HTML层叠样式表(CSS)
  3. 业务中台系统架构:大中台+小前台电子商务系统搭建框架思维
  4. JS获取浏览器UA(User Agent 用户代理)方法
  5. jar包应该怎么打?
  6. pythonweb全栈开发_Python web全栈学习路线
  7. 【PTA】【C语言(一)】
  8. ArcGIS基础:实现高斯正算与反算
  9. 维特比算法和beam search
  10. 黑磷量子点/无机荧光量子点/石墨烯量子点水凝胶/量子点/纳米水凝胶荧光探针的研究制备