2025-10-23 1 分钟 0.2 k0次访问
js watermark实现水印效果
1.创建watermark.js文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| import id from "element-ui/src/locale/lang/id";
let watermark = {} let setWatermark = (str) => { let id = '1.23452384164.123412415' if (document.getElementById(id) !== null) { document.body.removeChild(document.getElementById(id)) } let can = document.createElement('canvas') can.width = 500 can.height = 250 let cans = can.getContext('2d') cans.rotate(-20 * Math.PI / 180) cans.font = '14px Microsoft JhengHei' cans.fillStyle = '#dddddd' cans.textAlign = 'left' cans.textBaseline = 'Middle' cans.fillText(str, can.width / 3, can.height / 2) let div = document.createElement('div') div.id = id div.style.pointerEvents = 'none' div.style.top = '70px' div.style.left = '0px' div.style.position = 'fixed' div.style.width = document.documentElement.clientWidth - 100 + 'px' div.style.height = document.documentElement.clientHeight - 100 + 'px' div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat' document.body.appendChild(div) return id } // 该方法只允许调用一次 watermark.set = (str) => { let id = setWatermark(str) setInterval(() => { if (document.getElementById(id) === null) { id = setWatermark(str) } }, 500) window.onresize = () => { setWatermark(str) } } export default watermark
|
2.在需要的相关页面引入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <script> import watermark from '@/watermark.js' export default{ data(){ return{} }, mounted(){ watermark.set('水印 水印 水印')//添加水印 }, destroyed(){ watermark.set('')//去除水印 } } </script>
|