使用ImageMagick来给图片打文字水印
简介
博客中,难免要为有些图片打上水印。下面摘录两个打文字水印的方法。
摘录来自博客图像处理 - ImageMagick 简单介绍与案例
工具使用的是强大的ImageMagick, Mac下可以通过Homebrew来安装。安装命令
给图片打上透明的文字水印
命令:
解释:
-draw
:绘图选项,text 声明绘制文本, 0,0 声明文本距离图片左上角的偏移值, WWW.JIBING57.COM 声明绘制的文本,最好用引号包裹起来,避免输入特殊字符引起错误。绘制文本的格式为 text x,y string,当然还可以绘制其他类型,诸如圆 ( circle )、折线 ( polyline )。-fill
:对文本填充颜色,貌似 ImageMagick 命令中前面的选项是用来控制后面的选项的,所以应该把这样的修饰选项放到 -draw 前面比较好,很重要,后面的案例就是这样的。-pointsize
:指定文本的字体大小。-font
:指定字体。-gravity
:设置文本在图片里的排列方式 ( 类似 CSS 里的 align-items + justify-content ),center 表示水平垂直都居中,其他值还可以是:NorthWest, North, NorthEast, West, East, SouthWest, South, SouthEast,不记大小写。\
:反斜线也是类 Unix 系统的续行字符,当一个命令很长时,我们可以把它写成多行,以便视觉上的美观和直观。
给图片打上倾斜平铺透明文本水印
命令:
解释:文本平铺水印其实是将文本画成一张 png
图片,然后用这张透明图片在目标图片上进行平铺。
-size
:设置画布的大小。xc
:全称 X Constant Image,是 canvas: 的别名,定义一张画布,用来绘图,常用格式为 xc:color,none 或者 transparent 设置画布为透明底,默认为白色。-resize
:该选项还可以指定百分比,意为缩放至原图像的百分之几。貌似 -pointsize 小于 14 后,-draw 里的 rotate 会不生效,所以用 -resize 来把平铺图案变得更小。miff:-
:miff
: 声明输出 ImageMagick ( IM ) 自己的图像文件格式:MIFF,主要用途是以复杂的方式处理图像时当做中间保存格式,适用于从一个 IM 命令向另一个 IM 命令传递图像元数据和其他关联属性。-
在管道符前面意为将 IM 命令执行的结果作为标准输出,在管道符后面则表示从标准输入中读取这个数据,如在管道符后面的 composite 中使用-
读取刚刚生成的透明图像。
|
:Linux shell 管道符,用于将上一个命令的标准输出传递到下一个命令作为标准输入。这里将生成的水印图案传递给 composite 命令。-tile
:顾名思义,让图案平铺。-dissolve
:设置平铺图案的透明度
例子:
原图:
在左上角打上透明的文字LOGO”SHY09”
生成的图片水印图:
打上打上倾斜平铺透明文本水印:
生成的图片水印图: