图片水印就是在原图的基础上加上一张水印图片
访问类型
- [backcolor=transparent]@watermark[backcolor=transparent]=[backcolor=transparent]1[backcolor=transparent]&[backcolor=transparent]object[backcolor=transparent]=<[backcolor=transparent]encodedobject[backcolor=transparent]>&[backcolor=transparent]t[backcolor=transparent]=<[backcolor=transparent]transparency[backcolor=transparent]>&[backcolor=transparent]x[backcolor=transparent]=<[backcolor=transparent]distanceX[backcolor=transparent]>&[backcolor=transparent]y[backcolor=transparent]=<[backcolor=transparent]distanceY[backcolor=transparent]>&[backcolor=transparent]p[backcolor=transparent]=<[backcolor=transparent]position[backcolor=transparent]>…
其中watermark与object两个参数为必填项。文中出现的url_safe_base64_encode指的是URL安全base64编码,请参见
关键词。
参数
水印位置参数请参考
基本参数
水印图片预处理
用户在打水印时,可以对水印图片进行预处理,支持的预处理操作有:图片缩放,图片裁剪(不支持内切圆),图片旋转(具体内容请直接查看文档相关章节),但不支持管道操作。还额外支持一个参数:P(大写P),表示水印图片按主图的比例进行处理,取值范围为[1, 100],表示百分比
预处理示例
设置了10P, 当主图是100x100, 水印图片大小就为10x10, 当主图变成了200x200,水印图片大小就为20x20。如果生成的图片大小不一样,而使用相同的水印处理参数,就会导致一些小图,水印图片过大。或者一些大图,水印图片过小。增加P参数,就可以解决这个问题。采用P参数,IMG会根据主图的大小来动态调整水印图片的大小。
如果水印操作是:watermark=1&object=cGFuZGEucG5nQDMwUA&t=90&p=9&x=10&y=10 (右下角打水印。水印图片是:panda.png@30P, 表示水印的大小按主图的30%缩放。)
如果原图按宽度是400,需要缩略,再打上述水印的示例:
http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@400w|watermark=1&object=cGFuZGEucG5nQDMwUA&t=90&p=9&x=10&y=10
如果原图按宽度300缩略,再打上上述水印的示例:
http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@300w|watermark=1&object=cGFuZGEucG5nQDMwUA&t=90&p=9&x=10&y=10
访问形式:
参数中的object规则是:
- 1 图片水印原图名字(未经过URL安全base64编码的名字) + @ + Action
- 2 对第一步的字符串进行URL安全base64编码
如果要指定对水印图片进行预处理,处理参数带在水印object之后,以@符号连接。如:
- 对panda.png 不进行任何预处理: object = url_safe_base64_encode(“panda.png”)
- 对panda.png 进行放大2倍: object = url_safe_base64_encode(“panda.png@200p”)
- 对panda.png 进行缩小一倍,亮度调节成50, 对比度调节成40: object = url_safe_base64_encode(“panda.png@50p_50b_40d”)
- 对panda.png 增加按宽度50缩略,亮度调节成30: object = url_safe_base64_encode(“panda.png@50w_30b”)
- 对panda.png 增加按高度20缩略,对比度调节成10: object = url_safe_base64_encode(“panda.png@20h_10d”)
- 对panda.png 水印图的大小基于原图的20%进行处理,对比度调节成10: object = url_safe_base64_encode(“panda.png@20P_10d”)
示例
- 下面URL的含义,是example.jpg加上水印文件是 :panda.png (panda.png 经过URL安全base64编码后是:cGFuZGEucG5n)
http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@watermark=1&object=cGFuZGEucG5n&t=90&p=9&x=10&y=10
- 对panda.png按宽度是50缩放。 那么水印文件是:panda.png@50w (panda.png@50w 经过URL安全base64编码后是:cGFuZGEucG5nQDUwdw)
http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@watermark=1&object=cGFuZGEucG5nQDUwdw&t=90&p=9&x=10&y=10
- 对panda.png按50%的比例缩小。那么水印文件是: panda.png@50p (panda.png@50p经过URL安全base64编码后是:cGFuZGEucG5nQDUwcA)
http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@watermark=1&object=cGFuZGEucG5nQDUwcA&t=90&p=9&x=10&y=10
- 对panda.png,自动裁剪成宽度是40,高度是30大小。那么水印文件是:panda.png@40w_20h_1e_1c(panda.png@40w_20h_1e_1c经过URL安全base64编码后是:cGFuZGEucG5nQDQwd18yMGhfMWVfMWM)
http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@watermark=1&object=cGFuZGEucG5nQDQwd18yMGhfMWVfMWM&t=90&p=9&x=10&y=10
- 对panda.png. 高级裁剪,从起点(0, 0) 裁剪到(65, 65)的位置。那么水印文件是:panda.png@0-0-65-65a (panda.png@0-0-65-65a经过URL安全base64编码后是cGFuZGEucG5nQDAtMC02NS02NWE)
http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg@watermark=1&object=cGFuZGEucG5nQDAtMC02NS02NWE&t=90&p=9&x=10&y=10