Open AlexZ33 opened 1 year ago
// chart/WaterMark.js
export default class WaterMark {
constructor (userNm, userCd) {
this.userNm = userNm
this.userCd = userCd
}
draw () {
let canvas = document.createElement('canvas')
let ctx = canvas.getContext('2d')
canvas.width = 250
canvas.height = 130
ctx.translate(canvas.width / 2, canvas.height / 2 - 35)
ctx.rotate(-Math.PI / 12)
ctx.font = '700 12px/Mircosoft Yahei'
ctx.textAlign = 'center'
ctx.textBaseline = 'middle'
ctx.fillStyle = '#eaf0f5'
// ctx.fillStyle = '#f00'
ctx.fillText(`镜心的小树屋 ${this.userNm} ${this.userCd}`, 0, 0)
return canvas.toDataURL('image/png')
}
}
// directives/WaterMark.js
import WaterMark from '../chart/WaterMark.js'
import { useInfor } from '../rule'
export default {
inserted (el, binding) {
let timer = setInterval(() => {
if (useInfor.data.userNm && useInfor.data.userCd) {
let wMark = new WaterMark(useInfor.data.userNm, useInfor.data.userCd)
let imageSrc = wMark.draw()
if (binding.value && binding.value === false) return
el.style.background = `#fff url(${imageSrc}) repeat top left`
clearInterval(timer)
}
}, 50)
}
}
v-Focus