简介
本文档提供关于水印模板接口的 API 概览和 SDK 示例代码。
新增水印模板
功能说明
用于新增水印模板。
方法原型
public Guzzle\\Service\\Resource\\Model createMediaWatermarkTemplate(array $args = array());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', //协议头部,默认为 http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {// https://cloud.tencent.com/document/product/436/54033 新增水印模板// 文本水印$result = $cosClient->createMediaWatermarkTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Tag' => 'Watermark','Name' => 'Watermark-Template-Name','Watermark' => array('Type' => 'Text','Pos' => 'TopRight','LocMode' => 'Absolute','Dx' => '128','Dy' => '128','StartTime' => '','EndTime' => '','Text' => array('FontSize' => '30','FontType' => 'simfang','FontColor' => '0x000000','Transparency' => '30','Text' => '水印内容',),),));// 请求成功print_r($result);// 图片水印$result = $cosClient->createMediaWatermarkTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Tag' => 'Watermark','Name' => 'Watermark-Template-Name','Watermark' => array('Type' => 'Image','Pos' => 'TopRight','LocMode' => 'Absolute','Dx' => '128','Dy' => '128','StartTime' => '','EndTime' => '','Image' => array('Url' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/test01.png','Mode' => 'Proportion','Width' => '10','Height' => '','Transparency' => '100','Background' => '',),),));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
Request 中的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 |
Tag | Request | 模板类型: Watermark | String | 是 |
Name | Request | 模板名称,仅支持中文、英文、数字、_、-和* | String | 是 |
Watermark | Request | 水印信息 | Container | 是 |
Container 类型 Watermark 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
Type | Request.Watermark | 水印类型 | String | 是 | 无 | Text:文字水印 Image:图片水印 |
Pos | Request.Watermark | 基准位置 | String | 是 | 无 | TopRight、TopLeft、BottomRight、 BottomLeft |
LocMode | Request.Watermark | 偏移方式 | String | 是 | 无 | Relativity:按比例 Absolute:固定位置 |
Dx | Request.Watermark | 水平偏移 | String | 是 | 无 | 在图片水印中,如果 Background 为 true,当 locMode 为 Relativity 时,为%,值范围:[-300 0];当 locMode 为 Absolute 时,为 px,值范围:[-4096 0] 在图片水印中,如果 Background 为 false,当 locMode 为 Relativity 时,为%,值范围:[0 100];当 locMode 为 Absolute 时,为 px,值范围:[0 4096] 在文字水印中,当 locMode 为 Relativity 时,为%,值范围:[0 100];当 locMode 为 Absolute 时,为 px,值范围:[0 4096] |
Dy | Request.Watermark | 垂直偏移 | String | 是 | 无 | 在图片水印中,如果 Background 为 true,当 locMode 为 Relativity 时,为%,值范围:[-300 0];当 locMode 为 Absolute 时,为 px,值范围:[-4096 0] 在图片水印中,如果 Background 为 false,当 locMode 为 Relativity 时,为%,值范围:[0 100];当 locMode 为 Absolute 时,为 px,值范围:[0 4096] 在文字水印中,当 locMode 为 Relativity 时,为%,值范围:[0 100];当 locMode 为 Absolute 时,为 px,值范围:[0 4096] |
StartTime | Request.Watermark | 水印开始时间 | String | 否 | 0 | [0 视频时长] 单位为秒 支持 float 格式,执行精度精确到毫秒 |
EndTime | Request.Watermark | 水印结束时间 | String | 否 | 视频结束时间 | [0 视频时长] 单位为秒 支持 float 格式,执行精度精确到毫秒 |
Image | Request.Watermark | 图片水印节点 | Container | 否 | 无 | 无 |
Text | Request.Watermark | 文本水印节点 | Container | 否 | 无 | 无 |
Container 类型 Image 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
Url | Request.Watermark. Image | 水印图地址(需要 Urlencode 后传入) | String | 是 | 无 | 同 bucket 的水印图片地址 |
Mode | Request.Watermark. Image | 尺寸模式 | String | 是 | 无 | Original:原有尺寸 Proportion:按比例 Fixed:固定大小 |
Width | Request.Watermark. Image | 宽 | String | 否 | 无 | 当 Mode 为 Original 时,不支持设置水印图宽度 当 Mode 为 Proportion,单位为%,背景图值范围:[100 300];前景图值范围:[1 100],相对于视频宽,最大不超过4096px 当 Mode 为 Fixed,单位为 px,值范围:[8,4096] 若只设置 Width 时,按照水印图比例计算 Height |
Height | Request.Watermark. Image | 高 | String | 否 | 无 | 当 Mode 为 Original 时,不支持设置水印图高度 当 Mode 为 Proportion,单位为%,背景图值范围:[100 300];前景图值范围:[1 100],相对于视频高,最大不超过4096px 当 Mode 为 Fixed,单位为 px,值范围:[8,4096] 若只设置 Height 时,按照水印图比例计算 Width |
Transparency | Request.Watermark. Image | 透明度 | String | 是 | 无 | 值范围:[1 100],单位% |
Background | Request.Watermark. Image | 是否背景图 | String | 否 | false | true、false |
Container 类型 Text 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
FontSize | Request.Watermark. Text | 字体大小 | String | 是 | 无 | 值范围:[5 100],单位 px |
FontType | Request.Watermark. Text | 字体类型 | String | 是 | 无 | 参考下表 |
FontColor | Request.Watermark. Text | 字体颜色 | String | 是 | 无 | 格式:0xRRGGBB |
Transparency | Request.Watermark. Text | 透明度 | String | 是 | 无 | 值范围:[1 100],单位% |
Text | Request.Watermark. Text | 水印内容 | String | 是 | 无 | 长度不超过64个字符,仅支持中文、英文、数字、_、-和* |
Text 的 FontType 具体数据描述如下:
字体名称 | 支持的语言 | 描述 |
simfang.ttf | 中/英 | 仿宋 |
simhei.ttf | 中/英 | 黑体 |
simkai.ttf | 中/英 | 楷体 |
simsun.ttc | 中/英 | 宋体 |
STHeiti-Light.ttc | 中/英 | 华文黑体 |
STHeiti-Medium.ttc | 中/英 | 华文黑体中 |
youyuan.TTF | 中/英 | 幼圆 |
ariblk.ttf | 英 | 无 |
arial.ttf | 英 | 无 |
ahronbd.ttf | 英 | 无 |
Helvetica.dfont | 英 | 无 |
HelveticaNeue.dfont | 英 | 无 |
返回结果示例
GuzzleHttp\\Command\\Result Object([Body] => GuzzleHttp\\Psr7\\Stream Object([stream:GuzzleHttp\\Psr7\\Stream:private] => Resource id #88[size:GuzzleHttp\\Psr7\\Stream:private] =>[seekable:GuzzleHttp\\Psr7\\Stream:private] => 1[readable:GuzzleHttp\\Psr7\\Stream:private] => 1[writable:GuzzleHttp\\Psr7\\Stream:private] => 1[uri:GuzzleHttp\\Psr7\\Stream:private] => php://temp[customMetadata:GuzzleHttp\\Psr7\\Stream:private] => Array())[RequestId] => NjJhOTRhNTlJAOISDUJIOASDUIOxNDc2N2I=[ContentType] => application/xml[ContentLength] => 853[Bucket] => examplebucket-125000000[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template[Response] => Array([RequestId] => NjJhOTRhNTlJAOISDUJIOASDUIOxNDc2N2I=[Template] => Array([TemplateId] => t183b6fd90369a908sd09a8sd09ase1340[Name] => Watermark-Template-Name[State] => Normal[Tag] => Watermark[CreateTime] => 2022-06-15T10:56:25+0800[UpdateTime] => 2022-06-15T10:56:25+0800[BucketId] => examplebucket-125000000[Category] => Custom[Watermark] => Array([Type] => Text[Pos] => TopRight[LocMode] => Absolute[Dx] => 128[Dy] => 128[StartTime] => 0[EndTime] => 300[Text] => Array([FontType] => simfang[FontSize] => 30[FontColor] => 0x000000[Text] => 水印内容[Transparency] => 30)))))
更新水印模板
功能说明
用于更新水印模板。
方法原型
public Guzzle\\Service\\Resource\\Model updateMediaWatermarkTemplate(array $args = array());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', //协议头部,默认为 http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {// https://cloud.tencent.com/document/product/436/54036 更新水印模板// 文本$result = $cosClient->updateMediaWatermarkTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Key' => '', // TemplateId'Tag' => 'Watermark','Name' => 'Watermark-Template-Name','Watermark' => array('Type' => 'Text','Pos' => 'TopRight','LocMode' => 'Absolute','Dx' => '128','Dy' => '128','StartTime' => '','EndTime' => '','Text' => array('FontSize' => '30','FontType' => 'simfang','FontColor' => '0x000000','Transparency' => '30','Text' => '水印内容',),),));// 请求成功print_r($result);// 图片$result = $cosClient->updateMediaWatermarkTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Key' => '', // TemplateId'Tag' => 'Watermark','Name' => 'Watermark-Template-Name2-1','Watermark' => array('Type' => 'Image','Pos' => 'TopRight','LocMode' => 'Absolute','Dx' => '128','Dy' => '128','StartTime' => '','EndTime' => '','Image' => array('Url' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/test01.png','Mode' => 'Proportion','Width' => '10','Height' => '','Transparency' => '100','Background' => '',),),));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
Request 中的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 |
Tag | Request | 模板类型:Watermark | String | 是 |
Name | Request | 模板名称仅支持中文、英文、数字、_、-和* | String | 是 |
Watermark | Request | 水印信息 | Container | 是 |
Container 类型 Watermark 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
Type | Request.Watermark | 水印 类型 | String | 是 | 无 | Text:文字水印 Image:图片水印 |
Pos | Request.Watermark | 基准 位置 | String | 是 | 无 | TopRight:右上 TopLeft:左上 BottomRight:右下 BottomLeft:左下 |
LocMode | Request.Watermark | 偏移 方式 | String | 是 | 无 | Relativity:按比例 Absolute:固定位置 |
Dx | Request.Watermark | 水平偏移 | String | 是 | 无 | 在图片水印中,如果 Background 为 true,当 locMode 为 Relativity 时,单位为%,值范围:[-300 0];当 locMode 为 Absolute 时,单位为 px,值范围:[-4096 0] 在图片水印中,如果 Background 为 false,当 locMode 为 Relativity 时,单位为%,值范围:[0 100];当 locMode 为 Absolute 时,单位为 px,值范围:[0 4096] 在文字水印中,当 locMode 为 Relativity 时,单位为%,值范围:[0 100];当 locMode 为 Absolute 时,单位为 px,值范围:[0 4096] |
Dy | Request.Watermark | 垂直偏移 | String | 是 | 无 | 在图片水印中,如果 Background 为 true,当 locMode 为 Relativity 时,单位为%,值范围:[-300 0];当 locMode 为 Absolute 时,单位为 px,值范围:[-4096 0] 在图片水印中,如果 Background 为 false,当 locMode 为 Relativity 时,单位为%,值范围:[0 100];当 locMode 为 Absolute 时,单位为 px,值范围:[0 4096] 在文字水印中,当 locMode 为 Relativity 时,单位为%,值范围:[0 100];当 locMode 为 Absolute 时,单位为 px,值范围:[0 4096] |
StartTime | Request.Watermark | 水印 开始 时间 | String | 否 | 0 | [0 视频时长] 单位为秒,支持 float 格式,执行精度精确到毫秒 |
EndTime | Request.Watermark | 水印 结束 时间 | String | 否 | 视频结束时间 | [0 视频时长] 单位为秒,支持 float 格式,执行精度精确到毫秒 |
Image | Request.Watermark | 图片 水印 节点 | Container | 否 | 无 | 无 |
Text | Request.Watermark | 文本 水印 节点 | Container | 否 | 无 | 无 |
Container 类型 Image 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
Url | Request.Watermark. Image | 水印图地址 | String | 是 | 无 | 水印图片地址,如果水印图片为私有对象时,请携带签名信息 |
Mode | Request.Watermark. Image | 尺寸模式 | String | 是 | 无 | Original:原有尺寸 Proportion:按比例 Fixed:固定大小 |
Width | Request.Watermark. Image | 宽 | String | 否 | 无 | 当 Mode 为 Original 时,不支持设置水印图宽度 当 Mode 为 Proportion,单位为%,背景图值范围:[100 300];前景图值范围:[1 100] 当 Mode 为 Fixed,单位为 px,值范围:[8,4096],若只设置 Width 时,按照视频原始比例计算 Height |
Height | Request.Watermark. Image | 高 | String | 否 | 无 | 当 Mode 为 Original 时,不支持设置水印图高度 当 Mode 为 Proportion,单位为%,背景图值范围:[100 300];前景图值范围:[1 100] 当 Mode 为 Fixed,单位为px,值范围:[128,4096],若只设置 Height 时,按照视频原始比例计算 Width |
Transparency | Request.Watermark. Image | 透明度 | String | 是 | 无 | 值范围:[0 100],单位为% |
Background | Request.Watermark. Image | 是否背景图 | String | 否 | false | true、false |
Container 类型 Text 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
FontSize | Request.Watermark. Text | 字体大小 | String | 是 | 无 | 值范围:[0 100],单位为 px |
FontType | Request.Watermark. Text | 字体类型 | String | 是 | 无 | 参考下表 |
FontColor | Request.Watermark. Text | 字体颜色 | String | 是 | 无 | 格式:0xRRGGBB |
Transparency | Request.Watermark. Text | 透明度 | String | 是 | 无 | 值范围:[0 100],单位为% |
Text | Request.Watermark. Text | 水印内容 | String | 是 | 无 | 长度不超过64个字符,仅支持中文、英文、数字、_、-和* |
Text 的 FontType 具体数据描述如下:
字体名称 | 支持的语言 | 描述 |
simfang.ttf | 中/英 | 仿宋 |
simhei.ttf | 中/英 | 黑体 |
simkai.ttf | 中/英 | 楷体 |
simsun.ttc | 中/英 | 宋体 |
STHeiti-Light.ttc | 中/英 | 华文黑体 |
STHeiti-Medium.ttc | 中/英 | 华文黑体中 |
youyuan.TTF | 中/英 | 幼圆 |
ariblk.ttf | 英 | 无 |
arial.ttf | 英 | 无 |
ahronbd.ttf | 英 | 无 |
Helvetica.dfont | 英 | 无 |
HelveticaNeue.dfont | 英 | 无 |
返回结果示例
GuzzleHttp\\Command\\Result Object([Body] => GuzzleHttp\\Psr7\\Stream Object([stream:GuzzleHttp\\Psr7\\Stream:private] => Resource id #88[size:GuzzleHttp\\Psr7\\Stream:private] =>[seekable:GuzzleHttp\\Psr7\\Stream:private] => 1[readable:GuzzleHttp\\Psr7\\Stream:private] => 1[writable:GuzzleHttp\\Psr7\\Stream:private] => 1[uri:GuzzleHttp\\Psr7\\Stream:private] => php://temp[customMetadata:GuzzleHttp\\Psr7\\Stream:private] => Array())[RequestId] => NjJhOTRiNzJfNzgwYzdkNAIODUAIODUNGZhMWQ=[ContentType] => application/xml[ContentLength] => 855[Key] => t183b6fd9039167b2db0dfe1340[Bucket] => examplebucket-125000000[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template/t183b6fd9039167b2db0dfe1340[Response] => Array([RequestId] => NjJhOTRiNzJfNzgwYzdkNAIODUAIODUNGZhMWQ=[Template] => Array([TemplateId] => t183b6fd9039167b2db0dfe1340[Name] => Watermark-Template-Name[State] => Normal[Tag] => Watermark[CreateTime] => 2022-06-15T10:56:25+0800[UpdateTime] => 2022-06-15T11:01:06+0800[BucketId] => examplebucket-125000000[Category] => Custom[Watermark] => Array([Type] => Text[Pos] => TopRight[LocMode] => Absolute[Dx] => 128[Dy] => 128[StartTime] => 0[EndTime] => 300[Text] => Array([FontType] => simfang[FontSize] => 30[FontColor] => 0x000000[Text] => 水印内容[Transparency] => 30)))))