/*
* @Description:
* @Autor: lcfeng
* @Date: 2020-04-01 16:15:02
* @LastEditors: lcfeng
* @LastEditTime: 2020-08-14 10:28:15
*/
/**
* options str // 需要设置的名称
* 在使用的组件处 引入后 实例化watermark对象 传入name即可
* */
let watermark = {}
let setWatermark = (str) => {
let id = '1.23452384164.123412415'
if (document.getElementById(id) !== null) {
document.body.removeChild(document.getElementById(id))
}
let canvas = document.createElement('canvas')
canvas.width = 280;
canvas.height = 120;
let context = canvas.getContext('2d');
context.rotate(-20 * Math.PI / 180);
context.font = '15px Vedana';
context.fillStyle = 'rgba(180, 180, 180, 0.3)';
context.textAlign = 'left';
context.textBaseline = 'Middle';
context.fillText(str, canvas.width / 20, canvas.height);
let div = document.createElement('div');
div.id = id;
div.style.pointerEvents = 'none';
div.style.top = '3px';
div.style.left = '0px';
div.style.position = 'fixed';
div.style.zIndex = '100000';
div.style.width = document.documentElement.clientWidth + 'px';
div.style.height = document.documentElement.clientHeight + 'px';
div.style.background = 'url(' + canvas.toDataURL('image/png') + ') left top repeat';
document.body.appendChild(div);
return id;
}
// 该方法只允许调用一次
watermark.set = (str) => {
setWatermark(str);
// let id = setWatermark(str)
// setInterval(() => {
// if (document.getElementById(id) === null) {
// id = setWatermark(str)
// }
// }, 2000)
window.onresize = () => {
setWatermark(str)
}
}
export default watermark;
格式化代码:
/*
* @Description:
* @Autor: lcfeng
* @Date: 2020-04-01 16:15:02
* @LastEditors: lcfeng
* @LastEditTime: 2021-11-25 11:11:22
*/
/**
* options str // 需要设置的名称
* 在使用的组件处 引入后 实例化watermark对象 传入name即可
* */
const watermark = {}
const setWatermark = (str) => {
const id = '1.23452384164.123412415'
if (document.getElementById(id) !== null) {
document.body.removeChild(document.getElementById(id))
}
const canvas = document.createElement('canvas')
canvas.width = 280
canvas.height = 120
const context = canvas.getContext('2d')
context.rotate((-20 * Math.PI) / 180)
context.font = '15px Vedana'
context.fillStyle = 'rgba(180, 180, 180, 0.4)'
context.textAlign = 'left'
context.textBaseline = 'Middle'
context.fillText(str, canvas.width / 20, canvas.height)
const div = document.createElement('div')
div.id = id
div.style.pointerEvents = 'none'
div.style.top = '3px'
div.style.left = '0px'
div.style.position = 'fixed'
div.style.zIndex = '100000'
div.style.width = document.documentElement.clientWidth + 'px'
div.style.height = document.documentElement.clientHeight + 'px'
div.style.background =
'url(' + canvas.toDataURL('image/png') + ') left top repeat'
document.body.appendChild(div)
return id
}
// 该方法只允许调用一次
watermark.set = (str) => {
setWatermark(str)
// let id = setWatermark(str)
// setInterval(() => {
// if (document.getElementById(id) === null) {
// id = setWatermark(str)
// }
// }, 2000)
window.onresize = () => {
setWatermark(str)
}
}
export default watermark
使用方法:
watermark.set(userInfo.name + ' ' + userInfo.sfzh)
main.js
import watermark from '@/utils/watermark.js';
Vue.prototype.$watermark = watermark;
App.vue
//获取用户信息
getUserInfo((res) => {
let userInfo = res.data.user;
this.$watermark.set(userInfo.name + ' ' + userInfo.sfzh);
}, (err) => {
})