页面局部生成图片下载
业务需求:需要将UI设计图结合后台数据拼成所需要的图片并实现下载功能。
本文所用插件:html2canvas
git地址:https://github.com/niklasvh/html2canvas
用法:
下载依赖:yarn add html2canvas -d
html:
<div id="dom-id">
<img> // UI设计图
<span/>后台数据</span>
</div>
js:
import html2canvas from 'html2canvas' /** * 生成图片 */ makeImages() { let card = document.getElementById('dom-id') // 获取需要生成图片的dom父节点 html2canvas(card).then(function(canvas) { let img = new Image(); img = canvas.toDataURL('image/png'); var d = document.createElement("a"); d.download = pngName.png; d.href = img; d.click(); d.remove(); }); },
ps)坑:下载图片包含的本地图片若作为背景图会出现多余样式,比如多一条线,作为img并用z-index调整组件堆叠优先级,(position属性要设置一致z-index才会生效)样式正常。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」