您的三连支持是我创作的动力!
这里写一个简单的给页面元素添加水印背景的方法,主要是添加文字行的。

这里我写的注释很详细了,不会的可以看看canvas的相关api。
/**
* 给一个页面元素添加水印背景
* @param text 文字内容
* @param textColor 文字颜色
* @param backgroundColor 背景色
* @param sourceBody 挂载元素
*/
function setWatermark({text, textColor, backgroundColor}, sourceBody) {
let can = document.createElement('canvas')
can.width = 150
can.height = 120
let cans = can.getContext('2d')
cans.rotate(-20 * Math.PI / 180)
cans.font = '15px Vedana'
cans.fillStyle = textColor
cans.textAlign = 'left'
cans.textBaseline = 'Middle'
cans.fillText(text, can.width / 20, can.height)
sourceBody.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'
sourceBody.style.backgroundColor = backgroundColor
}
export default setWatermark
app.directive('w-watermark', (el, binding) => {
watermark({
text:binding.value.label,
textColor:"rgba(219,219,219,0.41)",
backgroundColor:"#F5F6F7",
},el)
})
自行改造,传入更多的参数,或者改变传入参数的方式都行!
<div class="ork-body" v-w-watermark="{label:'12321321'}">
<router-view></router-view>
</div>
您的三连支持是我创作的动力!