【技术】烦死了,HTML 怎么转图片?

前言

在用某讯浏览器时,发现遇到自己喜欢的网站除了可以网页另存为,还可以将网页保存为图片,这功能还是很不错的。Echarts 图表也提供了将图表转换为图片的功能。

近期遇到了同样的需求,领导要求每天汇报工作,工作都是通过系统统计为表格,需要截图,可是因为数据较多,图片不能一下子截全,于是迸发了这样的想法,将表格直接转换为图片

下载脚本

本着效率的原则,决定借助互联网大法,最终选择了 HTML2CANVAS ,它是一个 JS 脚本,封装了 Canvas 组件。这个脚本在 GitHub 上进行了托管。

HTML2CANVAS 官网 下载脚本,导入到项目中。

官方提供了三种方式:

  • Install NPM

    npm install --save html2canvas
    
  • Install Yarn

    yarn add html2canvas
    
  • 脚本导入

    http://html2canvas.hertzen.com/dist/html2canvas.min.js
    

官网案例

  • 准备要转换为图片的HTML代码
<div id="capture" style="padding: 10px; background: #f5da55">
    <h4 style="color: #000; ">Hello world!</h4>
</div>
  • 编写 JS 脚本
// html2canvas(element, options);
html2canvas(document.querySelector("#capture")).then(function(canvas) {
    document.body.appendChild(canvas);
});

调用 html2canvas 方法,方法有两个参数。执行函数中有一个参数canvas<canvas></canvas>组件,将该组件直接添加到 body 中,当然也可以根据实际需求放到指定的元素中,例如:模态框等。

​ 参数一:元素对象,要转换为图片的元素对象;

​ 参数二:配置项

参数默认值描述
allowTaintfalse是否允许跨域图像污染画布
backgroundColor#ffffff画布背景色(如果未在 DOM 中指定)。设置 null 为透明。
canvasnull在指定 canvas 元素中绘图,不是用默认 canvas
foreignObjectRenderingfalse如果浏览器支持,是否使用外来对象呈现
imageTimeout15000加载图像超时(以毫秒为单位)。设置 0 禁用超时。
ignoreElements(element) => false从呈现中删除匹配元素。
loggingtrue启用日志记录以进行调试
onclonenull在克隆文档以进行呈现时调用的回调函数可用于修改将要呈现的内容,而不会影响原始源文档
proxynull用于加载跨源映像的代理的 URL。如果留空,则不会加载跨源图像。
removeContainertrue是否清理 html2 扫描插件临时创建的克隆 DOM 元素
scalewindow.devicePixelRatio用于渲染的比例。默认为浏览器设备像素比。
useCORSfalse是否尝试使用 CORS 从服务器加载映像
widthElement widthcanvas
heightElement heightcanvas
xElement x-offset裁剪画布 x 坐标
yElement y-offset裁剪画布 y 坐标
scrollXElement scrollX呈现元素时要使用的 x 滚动位置(例如,如果 元素使用position: fixed)
scrollYElement scrollY呈现元素时要使用的 y 滚动位置(例如,如果 元素使用position: fixed)
windowWidthWindow.innerWidth呈现时要使用的窗口宽度,这可能会影响媒体查询等内容Element
windowHeightWindow.innerHeight渲染时要使用的窗口高度,这可能会影响媒体查询等内容Element

图片模糊

添加如下配置项:

html2canvas(document.querySelector("#capture"),{
    scale: 2, // 处理图片模糊问题
}).then(function(canvas) {
    document.body.appendChild(canvas);
});
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
速群企业网站管理系统HTML版本产品自发布以来,以安全、快速见称。新版本更集成了以前版本的所有优点。而且不仅功能大为增强,设计上更为人性化,运行速度更快、效率更高、服务器资源占用更少;无论在稳定性、负载能力、安全等方面都有可靠的保证并赢得了广大用户的良好口碑。本系统是为中小型企业量身打造的一套高效网站建设的系统。它具有完善的企业网站功能模块,全面整合信息协同管理系统(OA),在独立动态后台管理生成HTML静态前台网页。让您提升建站效率,提高服务质量,降低建站成本。利用速群企业网站管理系统,全方位展示你的产品,在线订购,轻松管理。您不再需要为您的企业网站建设,更新,维护,改版,安全而烦恼,一切只要您轻点鼠标即可在瞬间完成。 速群企业网站管理系统概述 速群企业网站管理系统是由速群网络经过长时间的经验积累,完善设计、精心打造的一个适用于WEB服务器环境的安全、稳定、快速、强大、高效、易用、优秀的公司企业网站建设解决方案。 速群企业网站管理系统是一个方便实用的网站生成系统。专门用于企业网站的构建,比起以往传统网站建设流程,通过速群企业网站管理系统的后台管理功能模块,可以让您在几十分钟内完成一个自定义前台栏目及功能的精美企业网站。 ● ASP技术开发,整站三语生成HTML静态网页文件,UTF-8国际编码,增强的性能,非凡的访问速度,更强的安全性,无限扩展性; ● 会员和管理员密码MD5+算法 增强的密码安全措施,防任何形式的密码破解; ● 灵活、强大的智能扩展 系统灵活的样式特性,自由组合;实现不同的前台样式; ● 全功能管理模式,让您体验管理乐趣 以功能个性化和人性化为基础,提供了特性管理、栏目管理、内容管理、用户管理、留言管理,订单管理等多种样式。 前台模板演示: http://demo.suqun.net/ 后台演示:http://demo.suqun.net/web1/System/AdminLogin.asp 信息协同管理系统(OA)演示:http://demo.suqun.net/web1/weboa/index.asp 界面预览:http://www.suqun.net/images/web.gif 软件图片:http://www.suqun.net/images/websoft.gif 下载地址:http://down.suqun.net/down/downa/WEB_QY.rar

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值