使用canvas给页面添加文字水印
参考:
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给页面添加文字水印相关推荐
- 计算机页面添加文字水印在哪,怎么添加水印-Word小技巧-快速添加高大上的水印...
不知道各位小伙伴是否见过这样的文档,带有类似[内部文件]/[严禁外泄]水印的文档,是不是觉得很高大上,神圣而不可侵犯的感觉油然而生?只需要一分钟,小编教你如何为文档快速添加水印. 一.添加水印 切换到 ...
- 使用JS(watermark)给HTML页面添加文字水印(全网最简单,最详细,复制即用,提供源码链接)
前言: 最近在做项目,PD提需求让做一个页面水印,百度到的答案好像大部分都是图片的,要么七七八八的,百度了好久,现在总结出来了这个精简中的精简版的教程,与大家分享.(源码下载链接在文章末尾,如果不想看 ...
- html页面加文字怎么加,HTML页面添加文字水印
1.canvas 画 文字 2.获取 图文字的base64 3.给div 做背景,注意 div 设置 const watermark = {} const setWatermark = str =&g ...
- canvas 添加文字水印、图片水印并实现图片水印透明
先上效果图 1.图片添加文字 2.图片添加图片水印 1.图片添加文字水印 async init() {let imgUrl ="http://qysmjczto.hn-bkt.clouddn ...
- php生成背景并加字,PHP给图片添加文字水印实例
PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图,自定义设置水印背景色.文字颜色.字体等. 水印类water.class.php var $Path = "./"; / ...
- 如何给原图添加文字水印和图片水印
今天记录一下如何给自己的图片添加记号(两种方法:一是添加图片水印,二是添加文字水印,我都有哦!!!),防止有人盗图侵权,但是该方法不是修图,是源码敲出来的,适用于android开发!!! 话不多说,稍 ...
- android水印控件,Android图片添加文字水印并保存水印文字图片到指定文件
Android图片添加文字水印并保存水印文字图片到指定文件package zhangphil.test;import android.graphics.Bitmap;import android.gr ...
- java实现给PDF文件添加图片水印,java实现给PDF文件添加文字水印
接上一篇,pdf跟tif 是一起做的 java实现 1.给PDF文件添加图片水印: public static void waterMark1(String inputFile,String outp ...
- 如何批量给pdf文件添加文字水印?
工作中我们会给重要的办公文件文件水印,给文件加上公司的名称等,这样可以有效防止文件内容被别人盗用抄袭,其中就包括word.Excel.PPT.图片.PDF等文件.PDF文件由于其特殊性,越来越成为最常 ...
- PDF怎么添加文字水印
有时候自己辛辛苦苦做的文件被别人直接拿去使用就会有点不舒服,如果我们把文件中添加上水印呢?今天就以PDF文件为例子来教大家如果给PDF文件添加水印,一起来看看吧! 方法一.迅捷PDF编辑器https ...
最新文章
- 推荐10款Windows系统必备的高效软件!!!
- 内核中接收网络帧的处理
- dbartisan mysql_修改DbVisualizer默认快捷键
- 2020-04-17-E-prime常见问题汇总
- 开关电容共模反馈学习
- 私有服务器虚拟化软件市场排名,三大服务器虚拟化软件比拼 谁是最佳?
- 没有配置任何软件的计算机上能够运行,禁止电脑安装任何软件
- QQ推广,QQ在线代码
- 感恩2020,期待2021
- 京东1.8联合会员腾讯视频QQ音乐转手教程 京东app换绑
- 送你一个励志故事——涵盖20多所互联网公司的校招C++面经
- Ubuntu 网络管理
- Agile敏捷开发管理Salesforce项目(第一篇)- 4大核心价值观+12条原则
- javascript中substring,substr和slice对比
- 【php】分享一个php转换微信、QQ、微博 特殊非主流 | 杀马特 网名的 function
- android studio 绘制时钟刻度表盘的虚拟动画。
- 【2019.07.10】python + OpenCV + adb 实现 自动 微信跳一跳
- css引入自定义字体/特殊字体/ttf格式语言包
- 求1到100之间的质数(素数)?
- 微信投票服务器在哪做,微信的投票功能在哪里?怎么制作微信投票活动?
热门文章
- java身份证号码验证
- spring配置事务
- cad修改快捷键_CAD大神总结:100个CAD快捷键+20个CAD制图技巧
- 2020年5月程序员工资统计,平均14542元
- 寻找回文素数python
- 计算机主机需要ccc,计算机电脑需要做3c认证吗?
- [乐意黎]2016中级会计师考试《财务管理》真题及答案-第一批(9.10-9.11)
- 多普达P800 GPS设置终极教程
- 利用逆矩阵解线性方程组_(非)线性方程组求解库大全
- 计算机英语这门课上后感1000,英语公开课观后感作文1000字