vue 项目实现水印效果

2023-05-16

目录

(1)新建 waterMark.js文件 

(2)页面使用


(1)新建引入 waterMark.js文件 

'use strict'

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 = 200
  can.height = 120

  let cans = can.getContext('2d')
  cans.rotate(-15 * Math.PI / 180)
  cans.font = '14px Vedana'
  cans.fillStyle = '#d0d3d8' // 水印的颜色
  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.zIndex = '100000'
  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)页面使用

import warterMark from "../../plugins/utils/waterMark";
mounted() {

    warterMark.set("我是水印水印");
    
  },

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 项目实现水印效果 的相关文章

  • 捷联惯导算法心得

    1 四个概念 xff1a 地理 坐标系 机体 坐标系 他们之间换算公式 换算公式用的系数 地理坐标系 xff1a 东 北 天 xff0c 以下简称 地理 在这个坐标系里有重力永远是 xff08 0 0 1g xff09 xff0c 地磁永远
  • Java中的域,静态域,实例域

    域 所谓的域 xff0c 是field的翻译 xff0c 也就是我们常说的字段 xff0c 或者属性 比如类的字段 xff08 属性 xff09 xff0c 局部的 xff0c 全局的 静态域 也就是静态属性 xff0c 我们可以单独为它设

随机推荐

  • 【线程篇】线程间同步之信号量、互斥锁

    线程 xff1a 进程内部的一条执行路径 xff08 序列 xff09 什么是线程什么是进程 xff0c 进程和线程的区别 xff1f 进程是一个正在运行的程序 xff0c 是系统进程资源分配的基本单位 线程是进程内部的一条执行路径 xff
  • PL/SQL报错:无法解析指定的连接标识符

    在安装oracle的时候PL SQL报错 xff1a ORA 12154 TNS 无法解析指定的连接标识符 xff0c 在网上找了很多资料 xff0c 然后问题解决 其中下面的文章分析的过程很值得学习 xff0c 特地转载过来时刻告诫自己全
  • 【idm】idm突破cookie封锁 (解决http:1.1 403 forbidden)(附charles使用教程)

    文章目录 一 问题二 解决方法 xff08 1 xff09 在chrome中获得cookies xff08 2 xff09 安装配置charles 三 另外的方法参考 idm的使用教程参考 xff1a 一 问题 使用idm下载文件出现如下问
  • 四旋翼飞行器数学建模+轨迹跟踪控制

    数学模型 xff08 状态空间方程 xff09 xff1a 控制算法 有限时间 xff08 finite time control xff09 控制 xff0c 文献 1 xff1b 比例 微分 xff08 PD xff09 控制 xff0
  • 卡尔曼滤波算法总结

    自己学习整理卡尔曼滤波算法 xff0c 从放弃到精通 kaerman 滤波算法 卡尔曼滤波是非常经典的预测追踪算法 xff0c 是结合线性系统动态方程的维纳滤波 xff0c 其实质是线性最小均方差估计器 xff0c 能够在系统存在噪声和干扰
  • 做嵌入式驱动的前途何在

    做嵌入式驱动的前途何在 做嵌入式linux驱动的前途何在 xff1f 或者说 xff0c 怎么才能做好这一行 xff1f 我做嵌入式驱动开发已经一年多了 xff0c 感觉没学到多少东西 从网络驱动到CAN驱动 从dataflash驱动到NA
  • 串口通信的调试01

    在开发中 xff0c 我们经常遇到这种情况 xff0c 供应商给了一台仪器 xff0c 然后仪器配套有软件 我们通过点击按钮往仪器发送命令 xff0c 仪器返回数据 有些时候 xff0c 我们希望可以通过自己编写的软件来操作仪器 xff0c
  • Linux驱动程序开发之三----按键驱动(Tiny6410)

    在Linux驱动程序开发之三 按键驱动 xff08 Tiny6410 xff09 博文中讨论了使用中断来实现按键驱动 xff0c 毫无疑问 xff0c 中断方式效率相当高 xff0c 但是在此之前 xff0c CPU要想获知按键的状态都是通
  • 飞控信号SBUS信号解析为PWM信号输出

    飞控信号SBUS信号解析为PWM信号输出 1 修改STM32时钟频率 xff1a static void SetSysClockTo72 void IO uint32 t StartUpCounter 61 0 HSEStatus 61 0
  • GTSAM 的使用

    GTSAM 的使用 GTSAM 是一个在机器人领域和计算机视觉领域用于平滑 xff08 smoothing xff09 和建图 xff08 mapping xff09 的C 43 43 库 它与 g 2 o 不同的是 xff0c g 2 o
  • ROS智能车实现darknet_ros检测物体

    文章目录 一 搭建智能车环境1 下载包以及编译1 1 下载源码包1 2 编译1 3 错误解决 xff08 1 xff09 controllers相关 xff08 2 xff09 driver base相关 xff08 3 xff09 ack
  • 使用Vant完成DatetimePicker 日期的选择器

    效果展示 xff1a 代码展示 xff1a lt template gt lt div id 61 34 date time picker 34 gt lt van button plain type 61 34 primary 34 64
  • 拜访谭浩强老先生

    本月 22日 邀请各大高校计算机专业的院长 教授 xff08 谭浩强 王移芝 陈明 杨小平 王立柱 郑莉 等等 xff09 前来我校参观指导 xff0c 尤其是对我们的 信息技术提高班 进行深入的了解 得知前几天中国计算机界泰斗级人物谭浩强
  • 使用Vant完成各种Toast提示框

    效果展示 xff1a xff08 1 xff09 使用前的需要安装Vant奥 参考博客 xff08 2 xff09 在main js里面引入Toast import Toast from 39 vant 39 Vue use Toast x
  • 使用Vant完成底部弹出框 ActionSheet 上拉菜单

    效果图 xff1a 代码展示 xff1a xff08 ActionSheet 上拉菜单 xff09 lt template gt lt ActionSheet 上拉菜单 gt lt div id 61 34 action sheet 34
  • vue项目总结,项目期间遇到的问题、难点等。【暂停更新】

    近期一直在做一个xxx中心的项目 xff0c 先来吐槽下内心的想法 xff0c 要开发的项目需求很不明确 xff0c 需求两周两周的更改 xff0c 感觉每天并没有特别多实际的产出 xff0c 总是感觉有点儿浪费时间 虽然这样 xff0c
  • http请求 状态码204

    今天在调试接口的时候遇到个问题 xff1a 一个请求走了两次 xff0c 一次204 xff0c 一次200 且 xff0c 请求204的 Request Method 是 OPTIONS 在网上查看资料后得知 xff0c 是因为跨域而引起
  • vue项目中,使用echarts完成 折线+多柱状图 (附完整代码)

    结果展示 xff1a 分析 xff1a xff08 1 xff09 在echarts里面的 series里面写三种柱状 43 一种折线图 xff08 2 xff09 该图谱也实现了自适应大小 xff0c 缩小放大浏览器界面 xff0c 柱状
  • vue 前端实现pdf下载.npm install html2canvas jspdf --save

    npm install html2canvas jspdf save 页面使用 lt div id 61 39 pdfDom 39 gt lt div gt lt el button 64 click 61 34 getPdf 39 pdf
  • vue 项目实现水印效果

    目录 xff08 1 xff09 新建 waterMark js文件 xff08 2 xff09 页面使用 xff08 1 xff09 新建引入 waterMark js文件 39 use strict 39 let watermark 6