图片水印就是在原图的基础上加上一张图片作为水印。
访问类型
@watermark=1&object=<encodedobject>&t=<transparency>&x=<distanceX>&y=<distanceY>&p=<position>…
其中watermark与object两个参数为必填项。文中出现的url_safe_base64_encode指的是URL安全Base64编码,请参见关键词。
参数
名称 | 描述 | 参数类型 |
object | 参数意义: 水印图片的object名字(必须编码) 说明 内容必须是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,需要缩略,再打上述水印的示例:
如果原图按宽度300缩略,再打上上述水印的示例:
访问形式
参数中的object规则是:
图片水印原图名字(未经过URL安全Base64编码的名字) + @ + Action
对第一步的字符串进行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)。
对panda.png按宽度是50缩放。 那么水印文件是:panda.png@50w (panda.png@50w 经过URL安全Base64编码后是:cGFuZGEucG5nQDUwdw)。
对panda.png按50%的比例缩小。那么水印文件是: panda.png@50p (panda.png@50p经过URL安全Base64编码后是:cGFuZGEucG5nQDUwcA)。
对panda.png,自动裁剪成宽度是40,高度是30大小。那么水印文件是:panda.png@40w_20h_1e_1c(panda.png@40w_20h_1e_1c经过URL安全Base64编码后是:cGFuZGEucG5nQDQwd18yMGhfMWVfMWM)。
对panda.png进行高级裁剪,从起点(0, 0) 裁剪到(65, 65)的位置。那么水印文件是:panda.png@0-0-65-65a (panda.png@0-0-65-65a经过URL安全Base64编码后是cGFuZGEucG5nQDAtMC02NS02NWE)。