更新记录
1.0.2(2026-03-12)
修改文档
1.0.1(2026-03-12)
修改文档
1.0.0(2026-03-12)
首次发布
查看更多平台兼容性
云端兼容性
| 阿里云 | 腾讯云 | 支付宝云 |
|---|---|---|
| √ | √ | √ |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
图片水印服务 API 文档
🚨 重要提示
请您先试用再购买!
在正式购买前,请务必点击页面上的 "导入插件并试用" 按钮进行充分测试。
本插件由开发者利用业余时间开发维护,可能存在以下情况:
- 功能兼容性:请确认插件完全满足您的项目需求
- 问题响应:Bug修复可能无法做到即时响应
- 支持限制:优先处理已确认购买的正式用户问题
强烈建议:在试用环境中全面测试后,确认功能满足需求再进行购买!
感谢您的理解与支持 🙏
兼容性说明
本云对象服务全面兼容以下平台和框架:
| 平台/框架 | 支持情况 | 特别说明 |
|---|---|---|
| UniApp | ✅ 完全兼容 | 支持所有UniApp版本 |
| UniApp-X | ✅ 完全兼容 | 支持新一代跨平台框架 |
| 微信小程序 | ✅ 完全兼容 | 支持最新版本API |
| QQ小程序 | ✅ 完全兼容 | 已通过官方测试 |
| 支付宝小程序 | ✅ 完全兼容 | 支持最新版本 |
| 百度小程序 | ✅ 完全兼容 | 已适配百度环境 |
| 字节跳动小程序 | ✅ 完全兼容 | 支持抖音/头条小程序 |
| 快应用 | ✅ 完全兼容 | 支持华为/小米等快应用 |
| H5 | ✅ 完全兼容 | 支持所有现代浏览器 |
| App | ✅ 完全兼容 | 同时支持Android和iOS |
| Vue | ✅ 完全兼容 | 支持Vue 2.x和3.x |
| NVue | ✅ 完全兼容 | 高性能原生渲染支持 |
| Web | ✅ 完全兼容 | 支持PC和移动端浏览器 |
方法列表
1. 图片水印
方法名
addImageWatermark(params)
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明与限制 |
|---|---|---|---|---|
sourceImage |
string/Buffer | 是 | - | 原始图片(URL/Buffer/Base64) |
watermarkImage |
string/Buffer | 是 | - | 水印图标(URL/Buffer/Base64) |
width |
number | 否 | 20%原始图片 | 水印图标宽度 |
height |
number | 否 | null | 水印图标高度 |
x |
number | 否 | 0 | 水印图标位置x坐标 |
y |
number | 否 | 0 | 水印图标位置y坐标 |
opacity |
number | 否 | 100 | 水印图标透明度(1-100) |
quality |
number | 否 | 70 | 图片水印质量(1-100)压缩效果 |
注意:原始图片和水印图片格式必须是png/jpg/jpeg。
返回结果
{
code: Number, // 200=成功
message: String, // 结果描述
success: Boolean, // 成功标识
timestamp: Number, // 时间戳
data: {
image: String, // 加水印后的Base64数据
}
}
2. 文字水印
方法名
addTextWatermark(params)
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明与限制 |
|---|---|---|---|---|
sourceImage |
string/Buffer | 是 | - | 原始图片(URL/Buffer/Base64) |
text |
string | 是 | - | 文字水印内容 只支持特殊字符 |
fontSize |
number | 否 | 16 | 文字大小(8/10/12/14/16/18/20/22/24/26/28/32/64) |
isBold |
boolean | 否 | false | 文字是否加粗 |
color |
string | 否 | '#000000' | 文字颜色(十六进制) |
x |
number | 否 | 0 | 水印图标位置x坐标 |
y |
number | 否 | 0 | 水印图标位置y坐标 |
opacity |
number | 否 | 100 | 水印图标透明度(1-100) |
quality |
number | 否 | 70 | 图片水印质量(1-100)压缩效果 |
注意:原始图片格式必须是png/jpg/jpeg。文字水印内容只支持0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!№;%:?*()_+-=.,/|"'@#$^&{}[]<>\《》,。【】;‘·~
返回结果
{
code: Number, // 200=成功
message: String, // 结果描述
success: Boolean, // 成功标识
timestamp: Number, // 时间戳
data: {
image: String, // 加水印后的Base64数据
}
}
方法调用示例
示例1:添加图片水印
const watermarkService = uniCloud.importObject('watermark-gsz')
const res = await watermarkService.addImageWatermark({
sourceImage: 'https://example.com/source.jpg',
watermarkImage: 'https://example.com/watermark.png',
x: 100,
y: 100,
opacity: 50
})
if (res.success) {
console.log('图片水印添加成功')
console.log('加水印后base64:', res.data.base64)
}
示例2:添加文字水印
const watermarkService = uniCloud.importObject('watermark-gsz')
const res = await watermarkService.addTextWatermark({
sourceImage: 'https://example.com/source.jpg',
text: '版权所有',
fontSize: 16,
color: '#FF0000',
opacity: 80
})
if (res.success) {
console.log('文字水印添加成功')
console.log('加水印后base64:', res.data.base64)
}
关键特性说明
1. 水印位置智能处理
- 边界检查:水印位置自动调整,防止超出图片范围
- 相对位置:支持相对于图片边缘的位置计算
处理规则:
- 当x/y超出图片范围时,自动调整到合理位置
- 支持负数坐标,表示从图片边缘向内偏移
2. 图片格式支持
- 输入格式:JPEG、PNG
- 输出格式:JPG
3. 透明度参数说明
- 范围:1-100,整数
- 默认值:100(完全不透明)
- 推荐值:
- 明显水印:80-100
- 半透明水印:50-70
- 隐形水印:10-30
4. 文字水印特性
- 颜色支持:支持任意十六进制颜色
- 加粗支持:支持文字加粗
- 换行处理:自动处理文字换行,确保不超出图片宽度
错误码说明
| 错误码 | 错误类型 | 说明 | 处理建议 |
|---|---|---|---|
| 200 | success | 操作成功 | - |
| 400 | params_error | 通用参数错误 | 检查请求参数格式 |
| 4001 | params_error | 必填参数为空 | 检查必填参数 |
| 4002 | params_error | 参数格式错误 | 检查参数格式 |
| 4003 | params_error | 参数超出有效范围 | 调整参数到合法范围 |
| 401 | file_error | 文件格式错误 | 仅支持png/jpg/jpeg/webp格式 |
| 404 | file_error | 文件不存在 | 检查文件路径或URL |
| 405 | file_error | 文件过大 | 压缩后重新上传 |
| 500 | process_error | 处理失败 | 重试或联系管理员 |
| 5001 | process_error | 图片处理失败 | 检查图片格式和大小 |
| 5002 | process_error | 字体加载失败 | 检查字体路径 |
| 5003 | process_error | 图片压缩失败 | 重试或联系管理员 |
| 501 | format_error | 不支持的文件格式 | 转换为支持的格式 |
| 502 | network_error | 网络请求失败 | 检查网络连接 |
| 503 | timeout_error | 请求超时 | 尝试较小的图片或检查网络 |
| 504 | permission_error | 权限不足 | 检查文件访问权限 |
常见问题(FAQ)
Q:支持哪些图片格式?
A:目前支持JPEG、PNG。
Q:水印位置超出图片范围怎么办?
A:服务会自动调整水印位置,确保不超出图片范围。
Q:文字水印如何换行?
A:服务会自动处理文字换行,确保不超出图片宽度。
Q:如何添加半透明水印?
A:通过设置opacity参数(1-100)来调整水印透明度。
Q:批量处理水印是否支持?
A:目前不支持批量处理,建议循环调用单张处理接口。
Q:水印处理超时怎么办?
A:原始图片越大所需要的处理时间越长;请自行配置云对象的超时时间、函数执行内存等。
Q:如何判断水印添加成功?
A:返回结果中success字段为true表示处理成功,同时会返回加水印后的Base64数据。
Q:压缩后的图片可以直接上传到云存储吗?
A:服务返回的是Base64,需要前端自行调用uniCloud.uploadFile上传到云存储。
Q:Base64格式如何传递?
A:支持纯base64字符串和data URL格式(如data:image/jpeg;base64,...)。
Q:数据太大云对象有限制?
A:云对象的接收参数的体积上限,支付宝云接收参数大小不可超过6MB,阿里云接收参数大小不可超过2MB,腾讯云接收参数大小不可超过5MB,由于传输层还有上下文环境信息,所以开发者给云对象发送参数时需注意控制参数体积。

收藏人数:
购买源码授权版(
导入插件并试用
赞赏(0)
下载 73
赞赏 0
下载 34427
赞赏 155
赞赏
京公网安备:11010802035340号