文字水印

最近更新时间:2024-06-06 16:01:02

我的收藏

简介

本文档提供关于文字水印处理接口的相关的 API 概览以及 SDK 示例代码。
注意:
COS 小程序 SDK 版本需要大于等于 v1.5.0。
API
操作描述
提供实时文字水印处理功能

上传时使用文字水印处理

下面示例展示了如何在上传图片时实现文字水印处理。
图片上传完成后,COS 会存储原始图片和已添加水印的图片。后续用户可以通过普通的下载请求获取处理结果。

示例代码

<view>
<button type="primary" bindtap="button">上传时使用文字水印处理</button>
</view>
Page({
button: function () {
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
wx.chooseMessageFile({
count: 2,
type: 'all',
success: function (res) {
var file = res.tempFiles[0];
wxfs.readFile({
filePath: file.path,
success: function (res) {
cos.putObject(
{
Bucket: config.Bucket, // Bucket 格式:test-1250000000
Region: config.Region,
Key: file.name,
Body: res.data,
Headers: {
'Pic-Operations':
'{"is_pic_info": 1, "rules": [{"fileid": "exampleobject", "rule": "watermark/2/text/5paH5a2X5rC05Y2w5rWL6K-V/fontsize/16/dissolve/100/gravity/SouthEast/dx/10/dy/10/batch/1/degree/45/shadow/50"}]}',
},
},
requestCallback,
);
},
fail: (err) => console.error(err),
});
},
fail: (err) => console.error(err),
});
},
});


对云上数据进行文字水印处理

下面示例展示了如何在对已存储在 COS 的图片进行相应处理操作,并将结果存入到 COS。

示例代码

<view>
<button type="primary" bindtap="button">对云上数据进行文字水印处理</button>
</view>
Page({
button: function () {
// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/31953
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
cos.request(
{
Bucket: config.Bucket,
Region: config.Region,
Key: '1.jpeg',
Method: 'POST',
Action: 'image_process',
Headers: {
'Pic-Operations':
'{"is_pic_info": 1, "rules": [{"fileid": "exampleobject", "rule": "watermark/2/text/5paH5a2X5rC05Y2w5rWL6K-V/fontsize/16/dissolve/100/gravity/SouthEast/dx/10/dy/10/batch/1/degree/45/shadow/50"}]}',
},
},
requestCallback,
);
},
});

下载时使用文字水印处理

下面示例展示了如何在下载图片时实现文字水印处理。

示例代码

<view>
<button type="primary" bindtap="button">下载时使用文字水印处理</button>
</view>
Page({
button: function () {
// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/31953
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
cos.getObject(
{
Bucket: config.Bucket,
Region: config.Region,
Key: 'test.jpg',
QueryString: `watermark/2/text/5paH5a2X5rC05Y2w5rWL6K-V/fontsize/16/dissolve/100/gravity/SouthEast/dx/10/dy/10/batch/1/degree/45/shadow/50`,
},
requestCallback,
);
},
});

参数说明

参数名称
参数描述
类型
是否必填
ObjectKey
对象文件名,例如 folder/sample.jpg
String
watermark/2
代表当前的处理为文字水印
String
/text/
水印内容,需要经过 URL 安全 的 Base64 编码
String
/font/
水印字体,需要经过 URL 安全 的 Base64 编码,默认值 tahoma.ttf
String
/fontsize/
水印文字字体大小,单位为磅,缺省值13
String
/fill/
字体颜色,缺省为灰色,需设置为十六进制 RGB 格式(例如 #FF0000),需要经过 URL 安全 的 Base64 编码,默认值为 #3D3D3D
String
/dissolve/
文字透明度,取值1 - 100 ,默认90(90%不透明度)
String
/gravity/
文字水印位置,九宫格位置,默认值为 SouthEast
String
/dx/
水平(横轴)边距,单位为像素,默认值为0
String
/dy/
垂直(纵轴)边距,单位为像素,默认值为0
String
/batch/
平铺水印功能,可将图片水印平铺至整张图片。值为1时,表示开启平铺水印功能
String
/spacing/
平铺模式下的水平、垂直间距相对文字水印贴图的宽高百分比,范围为[0,100],默认10
String
/degree/
当 batch 值为1时生效。文字水印的旋转角度设置,取值范围为0 - 360,默认0
String
/shadow/
文字阴影效果,有效值为[0,100],默认为0,表示无阴影
String
/scatype/
根据原图的大小,缩放调整水印图的大小,需要与 spcent 搭配使用:
当 scatype 设置为1时,按原图的宽缩放
当 scatype 设置为2时,按原图的高缩放
当 scatype 设置为3时,按原图的整体面积缩放
String
/spcent/
与 scatype 搭配使用:
当 scatype 设置为1时,该有效值为[1, 1000],单位为千分比
当 scatype 设置为2时,该有效值为[1, 1000],单位为千分比
当 scatype 设置为3时,该有效值为[1, 250],单位为千分比
String