vue如何实现水印效果
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关vue如何实现水印效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言:vue项目中使用水印效果,可指定容器效果图:1、不指定容器2、指定容器实
千家信息网最后更新 2025年11月08日vue如何实现水印效果
这篇文章给大家分享的是有关vue如何实现水印效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
前言:
vue项目中使用水印效果,可指定容器
效果图:
1、不指定容器

2、指定容器

实现方法:
1、新建一个配置文件 watermark.js ,可放util,也可放别的地方
let watermark = {} let setWatermark = (text, sourceBody) => { let id = Math.random()*10000+'-'+Math.random()*10000+'/'+Math.random()*10000 if (document.getElementById(id) !== null) { document.body.removeChild(document.getElementById(id)) } let can = document.createElement('canvas') can.width = 150 can.height = 120 let cans = can.getContext('2d') cans.rotate(-20 * Math.PI / 180) cans.font = '15px Vedana' cans.fillStyle = 'rgba(0, 0, 0, .5)' cans.textAlign = 'left' cans.textBaseline = 'Middle' cans.fillText(text, can.width / 20, can.height ) let water_div = document.createElement('div') water_div.id = id water_div.style.pointerEvents = 'none' water_div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat' if(sourceBody){ water_div.style.width = '100%' water_div.style.height = '100%' sourceBody.appendChild(water_div) }else{ water_div.style.top = '3px' water_div.style.left = '0px' water_div.style.position = 'fixed' water_div.style.zIndex = '100000' water_div.style.width = document.documentElement.clientWidth + 'px' water_div.style.height = document.documentElement.clientHeight + 'px' document.body.appendChild(water_div) } return id} /** * 该方法只允许调用一次 * @param: * @text == 水印内容 * @sourceBody == 水印添加在哪里,不传就是body * */watermark.set = (text, sourceBody) => { let id = setWatermark(text, sourceBody) setInterval(() => { if (document.getElementById(id) === null) { id = setWatermark(text, sourceBody) } }, 2000) _window.onresize = () => { setWatermark(text, sourceBody) }} export default watermark2、在main.js中全局配置
// 水印import watermark from './utils/watermark.js'Vue.prototype.$watermark = watermark
3、页面中使用-全屏水印
this.$watermark.set("浩星2731")4、页面中使用-指定容器
点我添加水印 addWatermark(){ this.$watermark.set("浩星2731",this.$refs.content) }5、如果觉得字体之间的距离太大了,改这个属性就行了
can.width = 150can.height = 120感谢各位的阅读!关于"vue如何实现水印效果"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
水印 效果 容器 内容 方法 更多 篇文章 页面 浩星 配置 不错 实用 之间 全局 前言 地方 字体 就是 属性 效果图 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 高中生可以从事软件开发吗 湖州软件开发驻场机构 网络技术求职信格式 计算机网络技术能报二建 投资idc服务器 商务网站建设服务器 裸金属服务器概念股 潮流网络技术有限公司好吗 全套数据库视频教程下载地址 网络技术在什么方面就业 变换式软件开发模型 学什么网络技术可以就业 arcgis9.3做数据库 360云端服务器尺寸 方舟生存进化老是搜不到服务器 拨号管理服务器 舟山学软件开发需要学什么 安卓应用软件开发专业 如何证明软件开发属于工业 江苏ios软件开发项目管理 华为数据库服务器默认用户名 网络安全攻防大赛定位 东莞金融软件开发费用是多少 学什么网络技术可以就业 mvc增量发布数据库 上海仓库流程管理软件开发商 wow联盟新人多的服务器 移动网络安全保护的内容 计算机网络技术专业一建报名 江苏ios软件开发项目管理