对象存储BOS

    水印

    概述

    本文介绍如何设置水印。图片水印是指在图片上方插入另一张图片或者文字作为水印,是一种数字信息的保护手段。目前 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。

    https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_1,k_YmNlLWRvY3VtZW50YXRpb24vQk9TL2JjZS5qcGc=,y_10,o_60

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

    https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_1,k_YmNlLWRvY3VtZW50YXRpb24vQk9TL2JjZS5qcGc=,g_7,o_50,a_90

    文字水印示例

    • 最简单的文字水印,文字内容为“hello world”。

    https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_2,t_aGVsbG8gd29ybGQ=

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

    https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_2,t_aGVsbG8gd29ybGQ=,ff_TWljcm9zb2Z0WWFIZWk=,fs_bold,g_6,x_20,y_20,a_30

    图文混合水印

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

    https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_1,k_YmNlLWRvY3VtZW50YXRpb24vQk9TL2JjZS5qcGc=|wm_2,t_aGVsbG8gd29ybGQ=

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

    https://doc.bce.baidu.com/bce-documentation/BOS/image.jpg@wm_1,k_YmNlLWRvY3VtZW50YXRpb24vQk9TL2JjZS5qcGc=,g_7,x_15,y_20,o_50|wm_2,t_aGVsbG8gd29ybGQ=,g_2,y_100,fc_aa88aa

    上一篇
    质量变换
    下一篇
    获取图片信息