全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
对象存储 OSS

图片水印

更新时间:2017-06-07 13:26:11

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

访问类型

  1. @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,需要缩略,再打上述水印的示例:

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

本文导读目录