参考:

vue页面添加水印 - 简书

代码:根据我们的需求我做了一点修改

let watermark = {};let setWatermark = (str, targetDom) => {let id = 'watermark';if (document.getElementById(id) !== null) {document.body.removeChild(document.getElementById(id));}let can = document.createElement("canvas");can.width = 200;can.height = 100;let cans = can.getContext("2d");cans.rotate((-20 * Math.PI) / 180);cans.font = "15px Vedana";cans.fillStyle = "rgba(0, 0, 0, 0.30)";cans.textAlign = "left";cans.textBaseline = "Middle";cans.fillText(str, can.width / 20, can.height);let div = document.createElement("div");div.id = id;div.style.pointerEvents = "none";div.style.top = targetDom.offsetTop + "px";div.style.left = targetDom.offsetLeft + "px";div.style.position = "fixed";div.style.zIndex = "100000";div.style.width = targetDom.clientWidth + "px";div.style.height = targetDom.clientHeight + "px";div.style.background ="url(" + can.toDataURL("image/png") + ") left top repeat";document.body.appendChild(div);return id;
};// 如果水印存在 展示水印 如果不存在 创建之后展示
// targetDom 是水印要盖住的元素
watermark.set = (str, targetDom) => {if (document.getElementById('watermark')) {document.getElementById('watermark').style.display = 'block'} else {let id = setWatermark(str, targetDom);let timer = setInterval(() => {if (document.getElementById(id) === null) {id = setWatermark(str, targetDom);} else {clearInterval(timer)}}, 2000);window.onresize = () => {setWatermark(str, targetDom);};}
};
//页面切换时展示水印 因为项目组件是keep-alive的 所以在beforeRouteEnter的时候调这个
watermark.show = () => {if (document.getElementById('watermark')) {document.getElementById('watermark').style.display = 'block'}}
//beforeRouteLeave切换其他页面时可能需要隐藏水印
watermark.hide = () => {document.getElementById('watermark').style.display = 'none'
}
export default watermark

使用canvas给页面添加文字水印相关推荐

  1. 计算机页面添加文字水印在哪,怎么添加水印-Word小技巧-快速添加高大上的水印...

    不知道各位小伙伴是否见过这样的文档,带有类似[内部文件]/[严禁外泄]水印的文档,是不是觉得很高大上,神圣而不可侵犯的感觉油然而生?只需要一分钟,小编教你如何为文档快速添加水印. 一.添加水印 切换到 ...

  2. 使用JS(watermark)给HTML页面添加文字水印(全网最简单,最详细,复制即用,提供源码链接)

    前言: 最近在做项目,PD提需求让做一个页面水印,百度到的答案好像大部分都是图片的,要么七七八八的,百度了好久,现在总结出来了这个精简中的精简版的教程,与大家分享.(源码下载链接在文章末尾,如果不想看 ...

  3. html页面加文字怎么加,HTML页面添加文字水印

    1.canvas 画 文字 2.获取 图文字的base64 3.给div 做背景,注意 div 设置 const watermark = {} const setWatermark = str =&g ...

  4. canvas 添加文字水印、图片水印并实现图片水印透明

    先上效果图 1.图片添加文字 2.图片添加图片水印 1.图片添加文字水印 async init() {let imgUrl ="http://qysmjczto.hn-bkt.clouddn ...

  5. php生成背景并加字,PHP给图片添加文字水印实例

    PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图,自定义设置水印背景色.文字颜色.字体等. 水印类water.class.php var $Path = "./"; / ...

  6. 如何给原图添加文字水印和图片水印

    今天记录一下如何给自己的图片添加记号(两种方法:一是添加图片水印,二是添加文字水印,我都有哦!!!),防止有人盗图侵权,但是该方法不是修图,是源码敲出来的,适用于android开发!!! 话不多说,稍 ...

  7. android水印控件,Android图片添加文字水印并保存水印文字图片到指定文件

    Android图片添加文字水印并保存水印文字图片到指定文件package zhangphil.test;import android.graphics.Bitmap;import android.gr ...

  8. java实现给PDF文件添加图片水印,java实现给PDF文件添加文字水印

    接上一篇,pdf跟tif 是一起做的 java实现 1.给PDF文件添加图片水印: public static void waterMark1(String inputFile,String outp ...

  9. 如何批量给pdf文件添加文字水印?

    工作中我们会给重要的办公文件文件水印,给文件加上公司的名称等,这样可以有效防止文件内容被别人盗用抄袭,其中就包括word.Excel.PPT.图片.PDF等文件.PDF文件由于其特殊性,越来越成为最常 ...

  10. PDF怎么添加文字水印

    有时候自己辛辛苦苦做的文件被别人直接拿去使用就会有点不舒服,如果我们把文件中添加上水印呢?今天就以PDF文件为例子来教大家如果给PDF文件添加水印,一起来看看吧!  方法一.迅捷PDF编辑器https ...

最新文章

  1. 推荐10款Windows系统必备的高效软件!!!
  2. 内核中接收网络帧的处理
  3. dbartisan mysql_修改DbVisualizer默认快捷键
  4. 2020-04-17-E-prime常见问题汇总
  5. 开关电容共模反馈学习
  6. 私有服务器虚拟化软件市场排名,三大服务器虚拟化软件比拼 谁是最佳?
  7. 没有配置任何软件的计算机上能够运行,禁止电脑安装任何软件
  8. QQ推广,QQ在线代码
  9. 感恩2020,期待2021
  10. 京东1.8联合会员腾讯视频QQ音乐转手教程 京东app换绑
  11. 送你一个励志故事——涵盖20多所互联网公司的校招C++面经
  12. Ubuntu 网络管理
  13. Agile敏捷开发管理Salesforce项目(第一篇)- 4大核心价值观+12条原则
  14. javascript中substring,substr和slice对比
  15. 【php】分享一个php转换微信、QQ、微博 特殊非主流 | 杀马特 网名的 function
  16. android studio 绘制时钟刻度表盘的虚拟动画。
  17. 【2019.07.10】python + OpenCV + adb 实现 自动 微信跳一跳
  18. css引入自定义字体/特殊字体/ttf格式语言包
  19. 求1到100之间的质数(素数)?
  20. 微信投票服务器在哪做,微信的投票功能在哪里?怎么制作微信投票活动?

热门文章

  1. java身份证号码验证
  2. spring配置事务
  3. cad修改快捷键_CAD大神总结:100个CAD快捷键+20个CAD制图技巧
  4. 2020年5月程序员工资统计,平均14542元
  5. 寻找回文素数python
  6. 计算机主机需要ccc,计算机电脑需要做3c认证吗?
  7. [乐意黎]2016中级会计师考试《财务管理》真题及答案-第一批(9.10-9.11)
  8. 多普达P800 GPS设置终极教程
  9. 利用逆矩阵解线性方程组_(非)线性方程组求解库大全
  10. 计算机英语这门课上后感1000,英语公开课观后感作文1000字