图片水印

图片水印就是在原图的基础上加上一张图片作为水印。

访问类型

@watermark=1&object=<encodedobject>&t=<transparency>&x=<distanceX>&y=<distanceY>&p=<position>…

其中watermarkobject两个参数为必填项。文中出现的url_safe_base64_encode指的是URL安全Base64编码,请参见关键词

参数

名称

描述

参数类型

object

参数意义: 水印图片的object名字(必须编码)

说明

内容必须是URL安全base64编码 encodedObject = url_safe_base64_encode(object)object为"panda.png", 编码过后的内容为"cGFuZGEucG5n"。

必选参数

水印位置参数请参考基本参数

水印图片预处理

用户在打水印时,可以对水印图片进行预处理,支持的预处理操作有:图片缩放、图片裁剪(不支持内切圆)、图片旋转(具体内容请直接查看文档相关章节),但不支持管道操作。还额外支持一个参数: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,需要缩略,再打上述水印的示例:

https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg@400w|watermark=1&object=cGFuZGEucG5nQDMwUA&t=90&p=9&x=10&y=10

图片水印1

如果原图按宽度300缩略,再打上上述水印的示例:

https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg@300w|watermark=1&object=cGFuZGEucG5nQDMwUA&t=90&p=9&x=10&y=10

图片水印2

访问形式

参数中的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")

示例