功能说明
通过图片水印参数,可以对存储在媒体存储中的图片文件增加水印文字或水印图。
注意事项
- 图片水印只能使用当前存储Bucket空间内的图片,网络或本地图片需上传至当前存储空间内方可使用。
- 图片水印目前仅支持JPG、PNG、BMP、WebP、TIFF格式。
- 单张图片最多支持添加3张不同的图片水印,且各个图片水印的位置不能完全重叠。
- 文字水印暂不支持格式设置。
- 水印图片的签名方式应该与原图的签名方式一致,比如原图是bucket前置的方式签名,水印图片也应该是bucket前置的方式签名。
- 水印编码后的内容仅应用在水印操作的特定参数中,请勿将其用在签名字符串(Signature)中。
参数说明
操作名称:watermark
基础参数
参数 | 是否必须 | 描述 | 取值范围 |
---|---|---|---|
t | 否 | 指定图片水印或水印文字的透明度。 | [0,100] 默认值:100, 表示透明度100%(不透明)。 |
g | 否 | 指定水印在图片中的位置。 | nw:左上 north:中上 ne:右上 west:左中 center:中部 east:右中 sw:左下 south:中下 se:右下 默认值:se 详情请参见下方基准点图片。 |
x | 否 | 指定水印的水平边距, 即距离图片边缘的水平距离。这个参数只有当水印位置是左上、左中、左下、右上、右中、右下才有意义。 | [0,4096] 默认值:10 单位:像素(px) |
y | 否 | 指定水印的垂直边距,即距离图片边缘的垂直距离, 这个参数只有当水印位置是左上、中上、右上、左下、中下、右下才有意义。 | [0,4096] 默认值:10 单位:px |
voffset | 否 | 指定水印的中线垂直偏移。当水印位置在左中、中部、右中时,可以指定水印位置根据中线往上或者往下偏移。 | [-1000,1000] 默认值:0 单位:px |
水平边距、垂直边距、中线垂直偏移不仅可以调节水印在图片中的位置,当图片存在多重水印时,还可以调节水印在图中的布局。
区域数值以及每个区域对应的基准点如下图所示。
图片水印参数
参数 | 是否必须 | 描述 | 取值范围 |
---|---|---|---|
image | 是 | 用于指定作为图片水印Object的完整名称,Object名称需进行Base64编码。详情请参见。 例如,作为图片水印的Object为Bucket内image目录下的sky.jpg,则需要编码的内容为image/sky.jpg,编码后的字符串为 aW1hZ2Uvc2t5LmpwZw 。说明:水印图片只能使用当前存储空间内的Object。 |
Base64编码后的字符串。 |
水印图片预处理参数
您可以使用 图片缩放 、 自定义裁剪 、及图片旋转操作中的所有参数对水印图片进行预处理。此外,水印图片在进行缩放操作时,还额外支持参数P:
参数 | 描述 | 取值范围 |
---|---|---|
P | 指定图片水印按照主图的比例进行缩放,取值为缩放的百分比。 如设置参数值为10,如果主图为100×100, 则图片水印大小为10×10。 当主图变成了200×200,则图片水印大小为20×20。 |
[1,100] |
文字水印参数
参数 | 是否必须 | 描述 | 取值范围 |
---|---|---|---|
text | 是 | 指定文字水印的文字内容,文字内容需进行Base64编码。 | Base64编码后的字符串,最大长度为64个字符(最多21个汉字)。 |
color | 否 | 指定文字水印的文字颜色,参数值为RGB颜色值。 | RGB颜色值,例如:000000表示黑色,FFFFFF表示白色。 默认值:000000(黑色) |
size | 否 | 指定文字水印的文字大小。 | (0,1000] 默认值:40 单位:px |
fill | 否 | 指定是否将文字水印铺满原图。 | 1:表示将文字水印铺满原图。 0(默认值):表示不将文字水印铺满全图。 |
图文混合水印参数
参数 | 是否必须 | 描述 | 取值范围 |
---|---|---|---|
order | 否 | 指定文字和图片水印的前后顺序。 | 0(默认值):表示图片水印在前。 1:表示文字水印在前。 |
align | 否 | 指定文字水印和图片水印的对齐方式。 | 0:表示文字水印和图片水印上对齐。 1:表示文字水印和图片水印中对齐。 2(默认值):表示文字水印和图片水印下对齐。 |
interval | 否 | 指定文字水印和图片水印间的间距。 | [0,1000] 默认值:0 单位:px |
水印编码
在添加水印操作中,文字水印的文字内容、图片水印的水印图片名称等参数需要进行URL安全的Base64编码。编码步骤如下:
- 将内容编码成Base64。
- 将结果中的部分编码替换。
- 将结果中的加号(+)替换成短划线(-)。
- 将结果中的正斜线(/)替换成下划线(_)。
- 将结果中尾部的等号(=)省略。
示例一:添加文字水印
以Bucket为image-demo中的图片demo.jpg为例,图片访问URL为https://gdoss.xstore.ctyun.cn/image-demo/demo.jpg
为demo.jpg图片添加文字水印示例如下:
- 快速添加Hello World的文字水印
- 对文字水印的内容Hello World进行URL安全的Base64位编码,编码结果为
SGVsbG8gV29ybGQ
。 - 图片处理URL为https://gdoss.xstore.ctyun.cn/image-demo/demo.jpg?x-amz-process=image/watermark,text_SGVsbG8gV29ybGQ
- 对文字水印的内容Hello World进行URL安全的Base64位编码,编码结果为
- 添加文字水印时配置多个图片处理参数,为demo.jpg图片添加Hello World的文字水印的同时,需要对水印文字以及原图做如下相应处理:
- 将demo.jpg缩略为宽高300:
resize,w_300,h_300
- 水印内容为“Hello World”:
text_SGVsbG8gV29ybGQ
- 水印文字颜色为白色、字体大小为30:
color_FFFFFF,size_30
- 水印文字位置是右下、水平边距10、中线垂直偏移10:
g_se,x_10,y_10
- 图片处理的URL为:
https://gdoss.xstore.ctyun.cn/image-demo/demo.jpg?x-amz-process=image/resize,w_300,h_300/watermark,size_30,text_SGVsbG8gV29ybGQ,color_FFFFFF,t_100,g_se,x_10,y_10
- 将demo.jpg缩略为宽高300:
示例二:添加图片水印
为demo.jpg图片添加图片水印示例如下:
- 快速添加名为water.png的水印图片,并对水印预处理,按原图的比例30%缩放
- 对水印图片预处理参数
water.png?x-amz-process=image/resize,P_30
进行URL安全的Base64位编码,编码结果为d2F0ZXIucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA
。 - 图片处理URL为https://gdoss.xstore.ctyun.cn/image-demo/demo.jpg?x-amz-process=image/watermark,image_d2F0ZXIucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA
- 对水印图片预处理参数
- 添加图片水印时配置多个图片处理参数,为demo.jpg图片添加图片水印water.png的同时,需要对图片水印以及原图做如下相应处理:
- 将demo.jpg缩略为宽高300:
resize,w_300,h_300
- 将demo.jpg图片质量设为90%:
quality,Q_90
- 添加预处理水印图片water.png:
watermark,image_d2F0ZXIucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA
(d2F0ZXIucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA
是water.png?x-amz-process=image/resize,P_30
进行Base64编码后的值) - 水印图片透明度90%:
t_90
- 水印图片位于主图的右下方、水平边距10、中线垂直偏移10:
g_se,x_10,y_10
- 图片处理的URL为:https://gdoss.xstore.ctyun.cn/image-demo/demo.jpg?x-amz-process=image/resize,w_300,h_300/quality,Q_90/watermark,image_d2F0ZXIucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,t_90,g_se,x_10,y_10
- 将demo.jpg缩略为宽高300:
示例三:添加图片和文字混合水印
为demo.jpg图片添加图片和文字混合水印的示例如下:
- 快速添加water.png图片水印和Hello World文字水印
- 结合以上示例中water.png以及Hello World的编码结果,可得出图片处理的URL为https://gdoss.xstore.ctyun.cn/image-demo/demo.jpg?x-amz-process=image/watermark,image_d2F0ZXIucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,text_SGVsbG8gV29ybGQ
- 添加多个图片和文字水印:为example.jpg图片添加2个不同的文本水印(Watermark 1和Watermark 2)和3个图片水印(sky.jpg、sea.jpg以及flower.jpg)。添加多个水印时,需使用正斜线(/)将不同的水印操作隔开。
- 添加sky.jpg图片水印,对图片水印进行预处理(缩放20%),图片水印位于主图的左上角,水平边距10,中线垂直偏移10。图片参数处理结果为
watermark,image_c2t5LmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw,g_nw,x_10,y_10
,其中c2t5LmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw
为sky.jpg图片水印预处理后经过Base64编码后的值。 - 添加sea.jpg图片水印,对图片水印进行预处理(缩放20%),图片水印位于主图右下角,水平边距10,中线垂直偏移10。图片参数处理结果为
watermark,image_c2VhLmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw,g_se,x_10,y_10
,其中c2VhLmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw
为sea.jpg图片水印预处理后经过Base64编码后的值。 - 添加flower.jpg图片水印,对图片水印进行预处理(缩放20%),图片水印位于主图左中部,水平边距10,中线垂直偏移10。图片参数处理结果为
watermark,image_Zmxvd2VyLmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw,g_west,x_10,y_10
,其中Zmxvd2VyLmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw
为flower.jpg图片水印预处理后经过Base64编码后的值。 - 添加Watermark 1文字水印,字体大小为20,水印文字位于主图的右上角,水平边距10、中线垂直偏移200。图片参数处理结果为
watermark,text_V2F0ZXJtYXJrIDE,g_ne,size_20,x_10,y_200
,其中V2F0ZXJtYXJrIDE
为Watermark 1经过Base64编码后的值。 - 添加Watermark 2文字水印,字体大小为20,颜色为深蓝色,水印文字位于主图的左下角,水平边距100、中线垂直偏移50。图片参数处理结果为
watermark,text_V2F0ZXJtYXJrIDI,color_0000b7,size_20,g_sw,x_100,y_50
,其中V2F0ZXJtYXJrIDI
为Watermark 2经过Base64编码后的值。 - 图片处理的URL为:https://gdoss.xstore.ctyun.cn/image-demo/demo.jpg?x-amz-process=image/watermark,image_c2t5LmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw,g_nw,x_10,y_10/watermark,image_c2VhLmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw,g_se,x_10,y_10/watermark,image_Zmxvd2VyLmpwZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzIw,g_west,x_10,y_10/watermark,text_V2F0ZXJtYXJrIDE,size_20,g_ne,x_10,y_200/watermark,text_V2F0ZXJtYXJrIDI,color_0000b7,size_20,g_sw,x_100,y_50
- 添加sky.jpg图片水印,对图片水印进行预处理(缩放20%),图片水印位于主图的左上角,水平边距10,中线垂直偏移10。图片参数处理结果为