更新时间:2024-10-24 GMT+08:00

设置水印

公共参数

此功能在控制台图形界面模式和代码编辑模式使用,也支持通过接口调用模式使用。

可以将文字内容或另一张图片设置为原图的水印。

添加水印中的文字内容和字体或图片水印路径均需使用用于URL传输的Base64编码。标准的Base64编码并不适合直接放在URL里传输。用于URL传输的Base64编码的编码方式基本过程是:先用标准Base64编码将内容编码为字符串,然后检查该字符串,将字符串中的加号(+)换成中划线(-),并且将斜杠(/)换成下划线(_)。详细编码规范请参考RFC4648标准中的相关描述。

操作名称:watermark

公共参数为设置图片水印和文字水印均可以使用的参数,可以同时添加文字和图片水印。具体基础参数说明如表1所示。

表1 公共参数

参数

取值说明

代码样例

g

可选参数,表示水印处于图片的位置。取值为tl、top、tr、left、center、right、bl、bottom和br,共9个取值。默认值为tl。

取值的九宫格如图1所示,每个取值位置均位于每一小格的左上角顶点。

image/watermark,image_aW1hZ2UtZGVtby

9sb2dvLnBuZw==,g_br,t_90,x_10,y_10

x

可选参数,表示距离图片边缘的水平距离,默认左上角为原点。取值范围为[0,4096]。默认值为10。单位为像素(px)。

y

可选参数,表示距离图片边缘的垂直距离,默认左上角为原点。取值范围为[0,4096]。默认值为10。单位为像素(px)。

voffset

可选参数,表示水印距离图片水平中线的垂直偏移方向。可以使水印根据中线往上或往下偏移。取值范围为[-1000,1000]。默认值为0。单位为像素(px)。

当g取值为left、center、right才有意义,即位置为左中、正中、右中才有意义。

align

可选参数,文字水印和图片水印的对齐方式。取值为0、1或2。默认值为0。

  • 0:表示上对齐。
  • 1:表示中对齐。
  • 2:表示下对齐。

order

可选参数,文字水印和图片水印的前后顺序。取值为0或1。默认值为0。

  • 0:表示图片在前面。
  • 1:表示文字在前面。

t

可选参数,文字或图片水印的透明度。取值范围为[0,100]。默认值为100,100%表示不透明。

interval

可选参数,表示文字和图片的间距。取值范围为[0,1000]。

水印位置九宫格如图1所示。

图1 水印位置九宫格

如果为原图同时添加文字和图片水印时,水平距离x、垂直距离y和中线垂直偏移voffset可以用于调节水印位于原图中的位置,也可以调节两张水印的布局。

图片水印

添加图片水印时使用的参数。

可以在添加水印图片进行预处理操作,包括设置缩略旋转图片剪切图片,但不支持剪切为内切圆。进行缩略设置预处理时,还支持将水印图片按原图比例进行缩放。

具体图片水印参数说明如表2所示。

表2 图片水印参数

参数

取值说明

代码样例

image

水印图路径,添加图片水印时的必选参数。

图片水印路径为:bucketName/objectName(必须编码)或bucketName/objectName?x-image-process=image/command(必须编码)

须知:

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

image/resize,w_400/watermark,image_aW1h

Z2UtZGVtby9sb2dvLnBuZz94LWltYWdlLXByb

2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA=,t_90,

g_br,x_10,y_10

P

水印图片尺寸,大写的P,表示将水印图片按原图(指被添加水印的图片)比例百分比P进行缩放。取值范围为[1,100]。

须知:

此处resize操作只支持大写P参数,不支持小写p参数。如需调整水印图片的大小,请参照resize参数(除小p参数之外)。

image-demo/logo.png?x-image-process=image/resize,P_50

文字水印

添加文字水印时使用的参数,包括字体大小、字体类型以及文字颜色等。具体文字水印参数如表3所示。

表3 文字水印参数

参数

取值说明

代码样例

text

添加文字水印时的必选参数。

须知:

必须是URL安全base64编码。encodeText = url_safe_base64_encode(fontText),最大长度为64个字符(支持最多16个中文字符)。

image/watermark,text_SGVsbG8g5Zu-

54mH5pyN5YqhIQ,size_60,color_FF0000,type_

ZmFuZ3poZW5nc2h1c29uZw==,g_center,rotate_30

size

可选参数,表示文字水印的文字大小。取值范围为(0,1000]。默认值为40。

type

可选参数,表示文字水印的文字类型。取值见下方表4所示。默认值为wqy-zenhei(文泉驿正黑,编码后的值:d3F5LXplbmhlaQ)。

须知:

1、必须是URL安全base64编码。encodeText = url_safe_base64_encode(fontType)。

2、当前不支持换行。

color

可选参数,表示文字水印的文字颜色。

格式为六位十六进制颜色码,取值为000000到FFFFFF,默认值为黑色。

shadow

可选参数,表示文字水印的阴影透明度。取值范围为(0,100]。

fill

可选参数,表示水印的铺满效果。取值为0或1。

  • 0:无效果。
  • 1:铺满。

rotate

可选参数,表示文字水印的按顺时针旋转的角度。取值范围为(0,360)。

表4 文字类型编码对照表

参数

URL安全base64编码后的值

取值说明

备注

droidsansfallback

ZHJvaWRzYW5zZmFsbGJhY2s=

DroidSansFallback

根据RFC,可省略填充符=变为ZHJvaWRzYW5zZmFsbGJhY2s

fangzhengfangsong

ZmFuZ3poZW5nZmFuZ3Nvbmc=

方正仿宋

根据RFC,可省略填充符=变为ZmFuZ3poZW5nZmFuZ3Nvbmc

fangzhengheiti

ZmFuZ3poZW5naGVpdGk=

方正黑体

根据RFC,可省略填充符=变为ZmFuZ3poZW5naGVpdGk

fangzhengkaiti

ZmFuZ3poZW5na2FpdGk=

方正楷体

根据RFC,可省略填充符=变为ZmFuZ3poZW5na2FpdGk

fangzhengshusong

ZmFuZ3poZW5nc2h1c29uZw==

方正书宋

根据RFC,可省略填充符=变为ZmFuZ3poZW5nc2h1c29uZw

wqy-microhei

d3F5LW1pY3JvaGVp

文泉微米黑

-

wqy-zenhei

d3F5LXplbmhlaQ==

文泉驿正黑

根据RFC,可省略填充符=变为d3F5LXplbmhlaQ

案例:创建文字水印并使用(控制台图形界面模式)

本章节提供控制台图形界面模式创建一个在图片左上角的位置添加方正书宋的文字水印的样式并进行使用的操作案例。

  1. 在管理控制台首页,选择服务列表 > 存储 > 对象存储服务
  2. 在桶列表中单击待操作的桶,进入“对象”页面。
  3. 单击“上传对象”,进入“上传对象”页面。
  4. 单击图6红框内按钮选择文件。

    图6 上传图片

  5. 选择待上传的图片,单击“打开”
  6. 单击“上传”,开始上传图片。上传完成后的图片会显示在对象列表。
  7. 在左侧导航栏,选择“数据处理 > 图片处理”
  8. 单击“创建”,进入样式编辑界面。具体如图7所示。

    图7 创建样式

  9. 输入样式名称为“obs-111”。编辑模式选择“图形界面模式”
  10. 单击“水印设置”页签。

    1. 在水印类型下拉列表中选择“文字水印”
    2. 在文字内容输入框中输入“Hello”。
    3. 文字字体选择“方正书宋”
    4. 文字大小输入“600”
    5. 水印透明度保持默认值“100”
    6. 水印位置选择左上
    7. 文字阴影保持不开启
    8. 垂直边距和水平边距保持默认值“10”

    右侧会实时显示设置的样式效果。最终的样式效果如图8所示。

    图8 样式obs-111

  11. 完成样式的编辑后,单击“确定”保存样式。新建成功的“obs-111”样式就会显示在样式列表中。
  12. 选中左侧导航栏中的“对象”。单击对象列表中的“mountain.jpg”,进入文件详情页面。
  13. 单击“图片预览”页签,您可以在此页面预览使用该图片样式的图片效果。

    图9 图片预览

  14. 单击“复制链接”,按钮提示“复制成功”时,即可获取到图片文件的访问地址来使用图片。