在 Linux 下给图片批量加水印很简单,以imagemagick为基础,使用一个Shell命令即可搞定。
批量处理图片需要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.
在 CentOS 下安装:
[php]yum install ImageMagick[/php]
在 Ubuntu 下安装:
[php]sudo apt-get install imagemagick[/php]
Shell命令如下:
[php]find ./ -type f -exec convert -fill '#15b' -pointsize 30 -draw "text 10,30 'www.opensoce.com'" {} {} \;
其中 ./ 指当前目录
-fill 意为加水印 可使用black、red为字体颜色,也可使用'#颜色码'
-font 指明字体文件位置,如果是中文的话就一定要有这个,否则为乱码。
-pointsize 指明字体大小,好像不支持百分比
-draw 要加的内容
text 指明加的是文字 20,60是水印位置[/php]
convert用法例子
[php]convert logo.gif -background Orange label:’Faerie logo’ \
+swap -gravity Center -append t_label2.jpg
convert logo.gif -gravity south \
-stroke ‘#000C’ -strokewidth 2 -ttate 0 ‘Faerie logo’ \
-stroke none -fill white -ttate 0 ‘Faerie logo’ \
t_outline.jpg[/php]