水印模板接口

最近更新时间:2025-03-21 17:50:32

我的收藏

简介

本文档提供关于水印模板接口的 API 概览和 SDK 示例代码。
API
操作描述
用于新增水印模板。
用于更新水印模板。

新增水印模板

功能说明

用于新增水印模板。

方法原型

public Guzzle\\Service\\Resource\\Model createMediaWatermarkTemplate(array $args = array());

请求示例

<?php

require 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
模板名称,仅支持中文、英文、数字、_、-和*,长度不超过64
String
Watermark
Request
水印信息
Container
Container 类型
Watermark
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Type
Request.Watermark
水印类型
Text:文字水印
Image:图片水印
String
Pos
Request.Watermark
基准位置
TopRight
TopLeft
BottomRight
BottomLeft
Left
Right
Top
Bottom
Center
String
LocMode
Request.Watermark
偏移方式
Relativity:按比例
Absolute:固定位置
String
Dx
Request.Watermark
水平偏移
在图片水印中,如果 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]
当 Pos 为 Top、Bottom 和 Center 时,该参数无效
String
Dy
Request.Watermark
垂直偏移
在图片水印中,如果 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]
当 Pos 为 Left、Right 和 Center 时,该参数无效
String
StartTime
Request.Watermark
水印开始时间
[0,视频时长]
单位为秒
支持 float 格式,执行精度精确到毫秒
String
0
EndTime
Request.Watermark
水印结束时间
[0,视频时长]
单位为秒
支持 float 格式,执行精度精确到毫秒
String
视频结束时间
Image
Request.Watermark
图片水印节点
Container
Text
Request.Watermark
文本水印节点
Container
Container 类型 Image 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Url
Request.Watermark.Image
水印图地址
String
Mode
Request.Watermark.Image

尺寸模式
Original:原有尺寸
Proportion:按比例
Fixed:固定大小
String
Width
Request.Watermark.Image

当 Mode 为 Original 时,不支持设置水印图宽度
当 Mode 为 Proportion,单位为%,背景图值范围:[100 300];前景图值范围:[1 100],相对于视频宽,最大不超过4096px
当 Mode 为 Fixed,单位为 px,值范围:[8,4096]
若只设置 Width 时,按照水印图比例计算 Height
String
Height
Request.Watermark.Image

当 Mode 为 Original 时,不支持设置水印图高度
当 Mode 为 Proportion,单位为%,背景图值范围:[100 300];前景图值范围:[1 100],相对于视频高,最大不超过4096px
当 Mode 为 Fixed,单位为 px,值范围:[8,4096]
若只设置 Height 时,按照水印图比例计算 Width
String
Transparency
Request.Watermark.Image

透明度,值范围:[1 100],单位%
String
Background

Request.Watermark.Image
是否背景图,取值 true、false
String
false
水印位置说明:



Container 类型 Text 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
FontSize
Request.Watermark.Text
字体大小,值范围:[5 100],单位 px
String
FontType
Request.Watermark.Text
字体类型,参考下表
String
FontColor
Request.Watermark.Text
字体颜色,格式:0xRRGGBB
String
Transparency
Request.Watermark.Text
透明度,值范围:[1 100],单位%
String
Text
Request.Watermark.Text
水印内容,长度不超过64个字符,仅支持中文、英文、数字、_、-和*
String
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());

请求示例

<?php

require 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 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Key
模版 ID
String
Request
Container

返回结果示例

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
)

)

)

)

)