vue-cropper 裁剪带水印图片 下载出不带水印图片
- 图片添加水印
changeVisible(fObj) {
//加水印
var self = this
var img = new Image()
//原图
img.src = imageBase64
img.onload = e => {
var cav = document.createElement('canvas')
cav.width = fObj.width
cav.height = fObj.height
var ctx = cav.getContext('2d')
ctx.drawImage(img, 0, 0)
//水印优化 repeat效果
this.repeat(ctx, cav, self, fObj.width, fObj.height)
}
},
//水印优化 repeat效果
repeat(ctx, cav, self, width, height) {
let col = 0
let row = 0
var img2 = new Image()
//水印图片
img2.src = '/static/image/wm.png'
img2.onload = function () {
col = Math.ceil(height / img2.width * 2)
row = Math.ceil(width / img2.height * 2)
let all = col * row
for (let i = 0; i < all + 1; i++) {
let numRow = parseInt(i / row)
let numCol = i % row
// console.log(numCol * img2.width * 2, numRow * img2.height * 2, i)
ctx.drawImage(img2, numCol * img2.width * 2, numRow * img2.height * 2, img2.width * 2, img2.height * 2)
//得到最终图片
if (i == all) {
self.imageBase64 = cav.toDataURL('image/png')
self.option.img = self.imageBase64
}
}
}
},
2.渲染2个裁剪框
<div v-show="radio==2" class