前端实现页面通过canvas添加全屏水印

写在前面,博主是个在北京打拼的码农,从事前端工作5年了,做过十多个大大小小不同类型的项目,最近心血来潮在这儿写点东西,欢迎大家多多指教。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:13287946835@139.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

前端通过方法实现全部页面添加自定义文字的水印

本文关键字:水印、自定义、公共方法、随意添加文字

方法如下:
复制代码
	addWaterMarker(str){


				var can = document.createElement('canvas');
				var body = document.getElementById("app");
				
				body.appendChild(can);
				
				can.width=200;
				can.height=150;
				can.style.display='none';
				
				
				var cans = can.getContext('2d');
				cans.rotate(-20*Math.PI/180);
				cans.font = "16px Microsoft JhengHei";
				cans.fillStyle = "rgba(17, 17, 17, 0.30)";
				cans.textAlign = 'left';
				cans.textBaseline = 'Middle';
				cans.fillText(str,can.width/6,can.height/2);
				
				body.style.backgroundImage="url("+can.toDataURL("image/png")+")";
				
				},
测试使用:

mounted() {

this.addWaterMarker('张健振 测试中');

}

效果展示:

文章传送门:

vue的html2canvas使用解读,完美避免可能会造成的问题

dicom胶片展示,使用基石插件cornerstoneTools完成

相关推荐
四眼肥鱼几秒前
flutter 利用flutter_libserialport 实现SQ800 串口通信
前端·flutter
ZFSS1 分钟前
OpenAI Images Edits API 申请及使用
前端·人工智能
码路飞12 分钟前
GPT-5.3 Instant 终于学会好好说话了,顺手对比了下同天发布的 Gemini 3.1 Flash-Lite
java·javascript
Lee川13 分钟前
从回调地狱到同步之美:JavaScript异步编程的演进之路
javascript·面试
Lee川13 分钟前
从零构建AI对话应用:Vite脚手架搭建与API密钥安全实践
前端·程序员
进击的尘埃14 分钟前
WebSocket 长连接方案设计:从心跳保活到断线重连的生产级实践
javascript
允许部分打工人先富起来15 分钟前
在node项目中执行python脚本
前端·python·node.js
钟智强15 分钟前
Flutter引擎Android平台JNI层未验证指针转换漏洞
前端
骑着小黑马20 分钟前
Electron + Vue3 + AI 做了一个新闻生成器:从 0 到 1 的完整实战记录
前端·人工智能
Sailing21 分钟前
LLM 调用从 60s 卡死降到 3s!彻底绕过 tiktoken 网络阻塞(LangChain.js 必看)
前端·langchain·llm