关于图片水印处理的研究

2010年1月28日 由 月影鹏鹏 留言 »

鹏鹏工作室近来一直在做图片打水印的研究,图片打水印是个很好的防盗链的方法,即便是你的图片被人转载,有你网站的logo,也是一个很好的宣传途径.

我用的不是程序员普遍的GD库,而是采用的ImageMagic 软件, 大家可以到官方网站上下载使用,并有详细使用说明(英文). 配合程序可以批量处理图片水印问题

本文来自:http://jk.scanmon.com/wp/about_image_watermark.html

有这方面的问题可以在月影鹏鹏的blog上留言,     鹏鹏工作室也做这方面的技术支持 http://www.scanmon.com

月影鹏鹏给大家看一下我做的图片加水印效果

ImageMagick是一套稳定的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个图片或图片序列进行改变大小、旋转、锐化、减色或增加特效,并将操作的结果以相同格式或其它格式保存。对图片的操作,可以通过命令行进行,也 可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。同时ImageMagick提供了一个高质量的2D工具包,部分地支 持SVG。现在,ImageMagic的主要精力集中在性能、减少bug以及提供稳定的API和ABI上。
ImageMagick功能强大,却是免费的。
ImageMagick的功能
1. 将图片从一个格式转换到另一个格式,包括直接 convert ico 图标。
2. 改变尺寸、旋转、锐化(sharpen)、减色、图片特效
3. 缩略图片的合成图( a montage of image thumbnails)
4. 适于web的背景透明的图片
5. 将一组图片做成gif动画,直接convert
6. 将几张图片做成一张组合图片,montage
7. 在一个图片上写字或画图形,带文字阴影和边框渲染。
8. 给图片加边框或框架
9. 取得一些图片的特性信息
10,几乎包括了gimp可以做到的常规插件功能。甚至包括各种曲线参数的渲染功能。只是那命令的写法,够复杂。
ImageMagick几乎可以在任何非专有的操作系统上编译,无论是32位还是64位的CPU,包括*nix ,Windows ‘95/’98/ME/NT 4.0/2000/XP, Macintosh (MacOS 9 /10), VMS 和 OS/2.

月影鹏鹏通过 imagemagic控制字体打水印的位置和字体大小.

月影鹏鹏通过imagemagic  可以打真正的半透明水印

月影鹏鹏通过imagemagic  字体库可选择,手写体也可以, 这是我的照片上写日记的测试

广告位

15 条评论

  1. jean says:

    这个挺有意思,资源消耗怎么样?自动加水印?

  2. 月影鹏鹏 says:

    还可以一分钟60-70张是没问题的,我批量处理过几百张时间也不是很长!做技术的最终要用程序实现自动化过程,我是用python 写的自动化处理脚本

  3. itren says:

    想学下用imagick加水印呀,convert后跟什么选项呢,就像大哥站上这种水印效果。

  4. itren says:

    我想请教下,有些小说网站上的文字内容全在图片上这是用IMAGEMAGICK 怎么做到的呢,谢谢了

  5. 月影鹏鹏 says:

    安装好ImageMagick v6 后
    用如下命令生成图片

    convert dragon.gif -background Khaki label:’Faerie Dragon’ \
    -gravity Center -append anno_label.jpg

    pic

    更多的请参照手册 http://www.imagemagick.org/Usage/annotating/

  6. 月影鹏鹏 says:

    convert dragon.gif -background Orange label:’Faerie Dragon’ \
    +swap -gravity Center -append anno_label2.jpg

  7. itren says:

    按照大哥您的要求,我转换1.jpg这个图片,出现这样的问题了
    convert 1.jpg -background Khaki label:’i love you’ -grav
    ity Center -append 2.gif
    convert: unable to read font `/usr/share/fonts/default/TrueType/arial.ttf’.

  8. 月影鹏鹏 says:

    convert: unable to read font `/usr/share/fonts/default/TrueType/arial.ttf’.

    是告诉你没有找到字库, 记得用中文的话要用中文字库呀

  9. itren says:

    经测试,水印效果还是不理想,我想要效果真实点的,文字是白色的就好了

  10. itren says:

    convert 1.jpg label:’i love you’ -gravity Center -append 13.gif
    这个好像是一个标签lanel呀,不太像水印,呵呵

  11. 月影鹏鹏 says:

    哦 那你看看这个效果怎样,鹏鹏工作室的图片有一部分是用这个方法处理的

    convert dragon.gif -gravity south \
    -stroke ‘#000C’ -strokewidth 2 -annotate 0 ‘Faerie Dragon’ \
    -stroke none -fill white -annotate 0 ‘Faerie Dragon’ \
    anno_outline.jpg

  12. itren says:

    效果出来了,不错,如果可以改变字体的格式和大小就好了,或是移动字体的位置,就很完美

  13. 月影鹏鹏 says:

    可以设置字体位置和字体格式的,具体你要看手册了

  14. itren says:

    可以改变水印文字的大小么,或字体的格式

  15. 月影鹏鹏 says:

    可以设置字体位置和字体格式的,具体你要看手册了!!

留言