vue实现在页面上添加水印的示例代码
第一步:在自己的项目里创建一个js文件;如图所示我在在watermark文件中创建了一个名为waterMark.js文件。

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 = 800
can.height = 250
let cans = can.getContext('2d')
cans.rotate(-10 * Math.PI / 180) // 水印旋转角度
cans.font = '26px Vedana'
cans.fillStyle = '#333333'
cans.textAlign = 'center'
cans.textBaseline = 'Middle'
cans.fillText(str1, can.width / 2, can.height) // 水印在画布的位置x,y轴
cans.fillText(str2, can.width / 2, can.height + 30)
let div = document.createElement('div')
div.id = id
div.style.pointerEvents = 'none'
div.style.top = '140px'
div.style.left = '0px'
div.style.opacity = '0.3'
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 top 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))
}
}第二步:在要添加水印的页面导入

import { removeWatermark, setWaterMark } from "@/../../waterMark"; //根据自己文件路径修改第三步:在mounted参数协商这几行代码
mounted() {
//设置水印内容,这段代码实现的是两行文本内容的水印。
let str1 = "我是水印";
let str2 = sessionStorage.getItem(key1)
setWaterMark(str1, str2);
},
destroyed() {
removeWatermark();
}
,
//sessionStorage.getItem(key1)可以获取当前登陆用户的信息,自己根据需要进行修改即可。按照这三部就可以实现。
到此这篇关于vue实现在页面上添加水印的示例代码的文章就介绍到这了,更多相关vue页面添加水印内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Vue3中无法为el-tree-select设置反选问题解析
这篇文章主要介绍了Vue3中无法为el-tree-select设置反选问题分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04
Vue中使用vue-plugin-hiprint插件进行打印的功能实现
hiprint 是一个web 打印的js组件,无需安装软件,支持windows,macOS,linux 系统,支持移动端,PC端浏览器,angular,vue,react 等 分页预览,打印,操作简单,运行快速,本文介绍了Vue中使用vue-plugin-hiprint插件进行打印,需要的朋友可以参考下2025-04-04
elementUI表格多选框this.$refs.xxx.toggleRowSelection无效问题
这篇文章主要介绍了elementUI表格多选框this.$refs.xxx.toggleRowSelection无效问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11
elementUI组件中el-date-picker限制时间范围精确到小时的方法
现在需要做一个时间选择器,可以根据小时(同时选天和小时)和天 和月,节假日等类型控制日历的选择样式,下面这篇文章主要给大家介绍了关于elementUI组件中el-date-picker限制时间范围精确到小时的相关资料,需要的朋友可以参考下2023-04-04
完美解决vue 项目开发越久 node_modules包越大的问题
这篇文章主要介绍了vue 项目开发越久 node_modules包越大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-09-09


最新评论