uniapp给上传的图片添加自定义水印
时间: 2023-11-28 17:06:03 浏览: 120
springboot实现上传图片添加水印
5星 · 资源好评率100%
Uniapp提供了一个uni.uploadFile API可以上传文件,但是不支持添加水印。因此,需要使用第三方库来实现添加水印的功能。
以下是使用第三方库添加水印的步骤:
1. 安装第三方库
在uniapp项目中使用npm安装第三方库。例如,可以使用npm安装`watermarkjs`库。
```bash
npm install watermarkjs --save
```
2. 在页面中引入库
在需要添加水印的页面中引入`watermarkjs`库。
```js
import watermark from 'watermarkjs';
```
3. 在上传文件前处理图片
在上传文件前,可以使用`watermarkjs`库在图片上添加水印。
```js
uni.chooseImage({
success: function(res) {
const tempFilePaths = res.tempFilePaths;
// 添加水印
watermark([tempFilePaths], {
init(text) {
text.font = '18px Microsoft YaHei';
text.fillStyle = 'rgba(255, 255, 255, 0.5)';
text.textAlign = 'center';
text.textBaseline = 'middle';
text.fillText('自定义水印', this.width / 2, this.height / 2);
}
})
.image(watermarkedImage => {
// 上传添加水印后的图片
uni.uploadFile({
url: 'http://example.com/upload',
filePath: watermarkedImage.src,
name: 'file',
success: function(res) {
console.log(res);
}
});
});
}
});
```
在上面的代码中,使用`watermarkjs`库在图片上添加水印,并将添加水印后的图片上传到服务器。`init`函数用于设置水印样式和文本内容。`image`函数用于获取添加水印后的图片对象,可以将其作为上传的文件路径。
阅读全文