文字水印

最后更新时间:2021-07-12 11:37:25

    功能概述

    腾讯云数据万象通过 watermark 接口提供实时文字水印处理功能。处理图片原图大小不超过32MB、宽高不超过30000像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过9999像素;针对动图,原图宽 x 高 x 帧数不超过2.5亿像素。

    该功能支持以下的处理方式:

    • 下载时处理
    • 上传时处理
    • 云上数据处理

    接口示例

    1. 下载时处理

    download_url?watermark/2/text/<encodedText>
                          /font/<encodedFont>
                          /fontsize/<fontSize>
                          /fill/<encodedColor>
                          /dissolve/<dissolve>
                          /gravity/<gravity>
                          /dx/<dx>
                          /dy/<dy>
                          /batch/<type>
                          /degree/<degree>
    
    说明:

    请忽略上面的空格与换行符。

    2. 上传时处理

    PUT /<ObjectKey> HTTP/1.1
    Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
    Date: GMT Date
    Authorization: Auth String
    Pic-Operations: 
    {
    "is_pic_info": 1,
    "rules": [{
        "fileid": "exampleobject",
        "rule": "watermark/2/text/<encodedText>
                          /font/<encodedFont>
                          /fontsize/<fontSize>
                          /fill/<encodedColor>
                          /dissolve/<dissolve>
                          /gravity/<gravity>
                          /dx/<dx>
                          /dy/<dy>
                          /batch/<type>
                          /degree/<degree>"
    }]
    }
    

    3. 云上数据处理

    POST /<ObjectKey>?image_process HTTP/1.1
    Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
    Date: GMT Date
    Content-length: Size
    Authorization: Auth String
    Pic-Operations: 
    {
    "is_pic_info": 1,
    "rules": [{
        "fileid": "exampleobject",
        "rule": "watermark/2/text/<encodedText>
                          /font/<encodedFont>
                          /fontsize/<fontSize>
                          /fill/<encodedColor>
                          /dissolve/<dissolve>
                          /gravity/<gravity>
                          /dx/<dx>
                          /dy/<dy>
                          /batch/<type>
                          /degree/<degree>"
    }]
    }
    
    说明:

    本篇文档中的实际案例仅包含下载时处理,该类处理不会保存处理后的图片至存储桶。如有保存需求,您可查阅 图片持久化处理 文档并配置上传时处理云上数据处理

    处理参数说明

    操作名称:watermark,数字2,表示水印类型为文字水印。

    参数 含义
    download_url 文件的访问链接,具体构成为&dxlt;BucketName-APPID>.cos.&dxlt;Region>.myqcloud.com/&dxlt;picture name>,
    例如 examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/picture.jpeg
    /text/ 水印内容,需要经过 URL 安全的 Base64 编码
    /font/ 水印字体,需要经过 URL 安全的 Base64 编码,默认值 tahoma.ttf 。水印字体列表参考 支持字体列表
    /fontsize/ 水印文字字体大小,单位为磅,缺省值13
    /fill/ 字体颜色,缺省为灰色,需设置为十六进制 RGB 格式(如 #FF0000),详情参考 RGB 编码表,需经过 URL 安全的 Base64 编码,默认值为 #3D3D3D
    /dissolve/ 文字透明度,取值1 - 100 ,默认90(90%不透明)
    /gravity/ 文字水印位置,九宫格位置(参见九宫格方位图),默认值 SouthEast
    /dx/ 水平(横轴)边距,单位为像素,缺省值为0
    /dy/ 垂直(纵轴)边距,单位为像素,默认值为0
    /batch/ 平铺水印功能,可将文字水印平铺至整张图片。值为1时,表示开启平铺水印功能
    /degree/ 当 batch 值为1时生效。文字水印的旋转角度设置,取值范围为0 - 360,默认0

    九宫格方位图

    九宫格方位图可为图片的多种操作提供位置参考。红点为各区域位置的原点(通过 gravity 参数选定各区域后位移操作会以相应远点为参照)。

    注意:

    • 当 gravity 参数设置为 center 时,dx、dy 参数无效。
    • 当 gravity 参数设置为 north 或 south 时,dx 参数无效(水印会水平居中)。
    • 当 gravity 参数设置为 west 或 east 时,dy 参数无效(水印会垂直居中)。

    实际案例

    添加文字水印

    http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?watermark/2/text/6IW-6K6v5LqRwrfkuIfosaHkvJjlm74/fill/IzNEM0QzRA/fontsize/20/dissolve/50/gravity/northeast/dx/20/dy/20/batch/1/degree/45
    

    添加文字水印后,效果如下:

    添加文字水印并携带私有文件签名

    处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接,示例如下:

    http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=<signature>&watermark/2/text/6IW-6K6v5LqRwrfkuIfosaHkvJjlm74/fill/IzNEM0QzRA/fontsize/20/dissolve/50/gravity/northeast/dx/20/dy/20/batch/1/degree/45
    
    说明:

    <signature> 为签名部分,获取方式请参考 请求签名