图片水印功能(watermark)可以为 TOS 存储桶内的图片添加文字水印、图片水印以及图文水印。本文介绍水印功能相关的参数说明及使用示例。
基础参数为文字水印和图片水印均可使用的参数,具体参数如下所示。
参数 | 参数说明 | 取值说明 | 是否必须 |
---|---|---|---|
t | 文字或图片水印的透明度。 |
| 否 |
g | 水印在图片中的放置位置。 |
| 否 |
x | 水印的水平边距, 即距离图片边缘的水平距离。这个参数只有当水印位置是左上、左中、左下、右上、右中、右下才有意义。 |
| 否 |
y | 水印的垂直边距,即距离图片边缘的垂直距离, 这个参数只有当水印位置是左上、中上、右上、左下、中下、右下才有意义。 |
| 否 |
voffset | 水印的中线垂直偏移。当水印位置在左中、中部、右中时,可以指定水印位置根据中线往上或者往下偏移。 |
| 否 |
图片水印参数可以指定水印图片以及水印图片的预处理参数,具体参数如下所示。
说明
例如使用 watermark.jpg 作为水印图片,经过 url 安全的 base64 编码处理之后,图片水印的最终参数为 image/watermark,image_d2F0ZXJtYXJrLmpwZw
。
参数 | 参数说明 | 取值说明 | 是否必须 |
---|---|---|---|
image | 水印图片的对象名称,需要进行 url 安全的 base64 编码,且必须与目标图片位于同一个存储桶内。 | base64 编码的字符串。 | 添加水印图片时必须 |
P | 对水印图片进行百分比缩放。 | resize 功能特殊参数,只能在水印图片预处理过程中使用。 | 否 |
其他预处理操作 | 对水印图片进行预处理。 | 图片缩放、自定义裁剪、索引切割、以及图片旋转操作中的所有功能对水印图片进行预处理。 | 否 |
注意
水印图片预处理参数是 image 的参数值,也需要进行 base64 编码,例如使用 watermark.jpg 作为水印图片,并对其进行 30% 的缩放预处理,原始参数为 image_watermark.jpg?x-tos-process=image/resize,P_30
,url 安全的 base64 编码之后为 image_d2F0ZXJtYXJrLmpwZz94LXRvcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzMw
。
文字水印参数可以指定文字内容、文字大小、文字类型以及文字颜色等,具体参数如下所示。
说明
使用 "Hello world" 作为水印文字,字体选择方正书宋,顺时针旋转 45 度,原始参数为 text_Hello world,type_fangzhengshusong,rotate_45
,文字内容以及字体经过 url 安全的 base64 编码之后为参数为text_SGVsbG8gd29ybGQ,type_ZmFuZ3poZW5nc2h1c29uZw,rotate_45
。
参数 | 参数说明 | 取值说明 | 是否必须 |
---|---|---|---|
text | 文字水印内容,需要进行 url 安全的 base64 编码。 | 编码之前中文字符串的最大字节长度为 64 个字符。 | 添加文字水印时必须 |
type | 文字水印的字体,需要进行 url 安全的 base64 编码。 | 可选字体为文泉驿正黑(默认)、文泉微米黑、方正书宋、方正楷体、方正黑体、方正仿宋、DroidSansFallback,字体的具体编码,请参见下表。 | 否 |
color | 文字水印的颜色。 | 十六进制颜色码,取值为 000000 到 FFFFFF,默认值为000000(黑色)。 | 否 |
size | 文字水印的文字大小。 | (0,1000] | 否 |
shadow | 文字水印的阴影透明度。 | [0,100] | 否 |
rotate | 文字水印按顺时针方向旋转的角度。 | [0,360] | 否 |
fill | 是否将水印文字平铺满原图。 |
| 否 |
type 参数中可选的文字类型及编码如下表所示。
原始参数 | url 安全的 base64 编码 | 字体名称 | 备注 |
---|---|---|---|
wqy-zenhei | d3F5LXplbmhlaQ | 文泉驿正黑 | 已省略填充符= |
wqy-microhei | d3F5LW1pY3JvaGVp | 文泉微米黑 | 无 |
fangzhengshusong | ZmFuZ3poZW5nc2h1c29uZw | 方正书宋 | 可省略填充符= |
fangzhengkaiti | ZmFuZ3poZW5na2FpdGk | 方正楷体 | 可省略填充符= |
fangzhengheiti | ZmFuZ3poZW5naGVpdGk | 方正黑体 | 可省略填充符= |
fangzhengfangsong | ZmFuZ3poZW5nZmFuZ3Nvbmc | 方正仿宋 | 可省略填充符= |
droidsansfallback | ZHJvaWRzYW5zZmFsbGJhY2s | DroidSansFallback | 可省略填充符= |
在一个水印功能中同时指定图片和文字水印,通过图文混合水印参数可以调整图片和文字的排列关系,具体参数如下所示。
参数 | 参数说明 | 取值说明 | 是否必须 |
---|---|---|---|
order | 文字水印和图片水印的前后顺序。 |
| 否 |
align | 文字水印和图片水印的对齐方式。 |
| 否 |
interval | 文字水印和图片水印间的间距。 |
| 否 |
说明
图片和文字水印参数均需要进行 base64 编码,您可以使用URL-safe Baes64编码工具,完成图片和文字水印参数的 base64 编码。
水印原图:https://tos-tools.tos-cn-beijing.volces.com/misc/watermark1.png
misc/watermark1.png?x-tos-process=image/resize,p_10
编码为 bWlzYy93YXRlcm1hcmsxLnBuZz94LXRvcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxwXzEw
。说明
该处图文混合水印是指在一个 watermark 功能中同时指定文字和图片水印,您可以通过图文混合水印参数调整文字和图片的排布方式。
添加两个图片水印 watermark1.png 和 watermark2.png,以及两个文字水印“Hello World”和“你好”,水印说明如下:
misc/watermark1.png?x-tos-process=image/resize,p_5
编码为 bWlzYy93YXRlcm1hcmsxLnBuZz94LXRvcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxwXzU=
。misc/watermark2.png?x-tos-process=image/resize,p_5
编码为 bWlzYy93YXRlcm1hcmsyLnBuZz94LXRvcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxwXzU=
。