• vue仿企微文档给页面加水印(水印内容可自定义,超简单)


    1.在src下得到utils里新建一个文件watermark.js

    /**  水印添加方法  */
    
    let setWatermark = (str1, str2) => {
      let id = '1.23452384164.123412415'
    
      if (document.getElementById(id) !== null) {
        document.body.removeChild(document.getElementById(id))
      }
    
      let can = document.createElement('canvas')
      // 设置canvas画布大小
      can.width = 300
      can.height = 300
    
      let cans = can.getContext('2d')
      cans.rotate(-20 * Math.PI / 180) // 水印旋转角度
      cans.font = '18px Vedana'
      cans.fillStyle = '#666666'
      cans.textAlign = 'left'
      cans.textBaseline = 'top'
      cans.fillText(str1, 0, 40) // 水印在画布的位置x,y轴
      cans.fillText(str2, 90, 230)
    
      let div = document.createElement('div')
      div.id = id
      div.style.pointerEvents = 'none'
      div.style.top = '0px'
      div.style.left = '0px'
      div.style.opacity = '0.1'
      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(' + can.toDataURL('image/png') + ') left repeat'
      document.body.appendChild(div)
      return id
    }
    
    // 添加水印方法
    export const setWaterMark = (str1, str2) => {
      let id = setWatermark(str1, str2)
      if (document.getElementById(id) === null) {
        id = setWatermark(str1, str2)
      }
    }
    
    // 移除水印方法
    export const removeWatermark = () => {
      let id = '1.23452384164.123412415'
      if (document.getElementById(id) !== null) {
        document.body.removeChild(document.getElementById(id))
      }
    }
    
    
    • 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
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

    2.在vue页面里直接引入使用

    import { removeWatermark, setWaterMark } from '@/utils/watermark'
    mounted () {
        // 添加水印
        setWaterMark('宋江','及时雨')
    },
    beforeDestroy () {
        removeWatermark()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.最后效果
    在这里插入图片描述

  • 相关阅读:
    U-Mail信创邮件系统解决方案
    dockers --cap-add 哪些值可以设置
    nodejs--开发自己的项目——5——个人中心模块——获取用户信息——设置的url:/my/userinfo/get请求
    Centos 7 下配置Samba服务
    性能测试 —— Jmeter 命令行详细
    难能可贵的Jetpack Compose 学习指南
    【3D建模实战】维京海盗盾牌教程
    提升应用性能:Go中的同步与异步处理
    Spring Security 单点登录
    IB 物理真题: 比潜热、理想气体
  • 原文地址:https://blog.csdn.net/itlsq/article/details/132665914