水印
更新时间:2020-08-18
概述
本文介绍如何设置水印。图片水印是指在图片上方插入另一张图片或者文字作为水印,是一种数字信息的保护手段。目前 BOS 图像处理 V1.0 协议支持图片水印和文字水印两种水印方式。BOS 将您的原始图片分成如下图所示 9 个区域,并按照图示位置进行编号,每个区域均包含锚点。
确定水印在原图上的最终位置,您需要确定如下两个因素:
- 锚点位置;
- 基于锚点位置,指定在水平和垂直方向上的距离。
锚点位置如图所示:

图片水印参数
| 参数名称 | 缩写命令 | 类型 | 取值范围 | 命令描述 | 缺省值 | 是否必选 |
|---|---|---|---|---|---|---|
| watermark | wm | unsigned | 0,1,2 | 指定水印方式。 wm_0表示关闭水印功能; wm_1表示图片水印; wm_2表示文字水印。 |
- | 是 |
| key | k | string | - | 指定水印图片存储在BOS上的 Object名称,即ObjectKey。 如Object存储在文件夹下,则 需要包含文件夹路径。 该值要求为Base64编码后的值。 |
- | 是 |
| gravity | g | unsigned int | 1~9 | 指定水印的锚点位置。 图片锚点的含义请参考图片水印命令。 |
9 | 否 |
| gravityX | x | int | -4096~4096 | 指定水印基于锚点的水平方向距离。 | 10 | 否 |
| gravityY | y | int | -4096~4096 | 指定水印基于锚点的垂直方向距离。 | 10 | 否 |
| angle | a | int | -360~360 | 指定水印图片的旋转角度。 正数表示顺时针旋转,如 a_60;负数表示逆时针旋转,如 a_-30。 |
0 | 否 |
| opacity | o | unsigned int | 1~100 | 指定水印图片的透明度。 取值为100时,表示与原始 图片透明度一致。 |
100 | 否 |
说明
- 水印图片要与原始图片存储在BOS的同一个Bucket下。
文字水印参数
| 参数名称 | 缩写命令 | 类型 | 取值范围 | 命令描述 | 缺省值 | 是否必选 |
|---|---|---|---|---|---|---|
| watermark | wm | unsigned | 0,1,2 | 指定水印方式。 wm_0表示关闭水印功能; wm_1表示图片水印; wm_2表示文字水印。 |
- | 是 |
| text | t | string | - | 水印文字内容,需要进行 Base64编码,且编码后最 多不能超过80个字符。 |
- | 是 |
| gravity | g | unsigned int |
1~9 | 指定水印的锚点位置。图片 锚点的含义请参考图片水印命令。 |
9 | 否 |
| gravityX | x | int | -4096~4096 | 指定水印基于锚点的水平方 向距离。 |
10 | 否 |
| gravityY | y | int | -4096~4096 | 指定水印基于锚点的垂直方 向距离。 |
10 | 否 |
| angle | a | int | -360~360 | 指定水印图片的旋转角度。 正数表示顺时针旋转,如 a_60;负数表示逆时针旋转,如 a_-30。 |
0 | 否 |
| fontSize | sz | unsigned int |
1~1024 | 指定水印字体大小,单位 是 px。 |
30 | 否 |
| fontColor | fc | string | - | 指定字体颜色,为一个8位 的16进制字符串,其中每2 位用来表示RGBA中的一项。 前6位分别表示RGB色,如 ffffff;最后2位表示Alpha 通道,可省略,省略时表示 不透明。 例如:000000ff表示黑色不 透明字体。 |
000000 | 否 |
| fontFamily | ff | string | - | 指定字体的字体类型,取值 要求进行Base64编码。已支 持的字体类型请参见 下方列表。 |
宋体 | 否 |
| fontStyle | fs | string | normal(常规) italic(斜体) bold(粗体) |
指定字体样式。 | normal | 否 |
已支持的字体类型:
| 参数取值 | 字体类型 |
|---|---|
| MicrosoftYaHei | 微软雅黑 |
| FangSong | 仿宋 |
| SimHei | 黑体 |
| KaiTi | 楷体 |
| SimSun | 宋体 |
| FZBeiWeiKaiShuJianTi | 方正北魏楷书简体 |
| FZBoYaSongJianTi | 方正博雅宋简体 |
| FZCuHeiSongJianTi | 方正粗黑宋简体 |
| FZLanTingZhongHeiJianTi | 方正兰亭中黑简体 |
| FZZhengHei | 方正正黑 |
| AvantGarde | AvantGarde |
| Bookman | Bookman |
| Courier | Courier |
| Helvetica | Helvetica |
| HelveticaNarrow | HelveticaNarrow |
| NewCenturySchlbk | NewCenturySchlbk |
| Palatino | Palatino |
| Times | Times |
| Symbol | Symbol |
说明:
- 只有当fontFamily支持fontStyle效果时,才会渲染文字效果。
- 若指定的字体样式不在当前已支持的fontFamily列表中,则显示效果为默认字体宋体。
图文混合水印
图文混合水印是指将图片水印和文字水印同时打在原始图片上。由于图片水印和文字水印为两组独立的命令,因此图文混合水印需要用管道实现。
示例
图片水印示例
原图为image.jpg,水印图片为bce-documentation/BOS/bce.jpg(Base64编码后为“YmNlLWRvY3VtZW50YXRpb24vQk9TL2JjZS5qcGc=”)。
- 在右下角加上图片水印,指定垂直距离为10,透明度为60。

- 在左下角加上水印,水平和垂直距离取缺省值,透明度为50,并顺时针旋转90度。

文字水印示例
- 最简单的文字水印,文字内容为“hello world”。
https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_2,t_aGVsbG8gd29ybGQ=

- 文字内容为“hello world”,字体类型为微软雅黑,字体颜色和字体大小取默认值,字体样式为粗体,水印位置在右中,距离锚点水平距离20,垂直距离20,并顺时针旋转30度。

图文混合水印
- 最简单的图文混合水印:图片为bce-documentation/BOS/bce.jpg,文字内容为“hello world”,其余参数均取默认值。

- 图文混合水印:水印图片为bce-documentation/BOS/bce.jpg,位于原图左下角,距离锚点水平距离为,15,垂直距离为20,透明度为50;文字内容为“hello world”,位于正上方,垂直距离为100,字体颜色为淡紫色。

