使用html2canvas将页面转成图并使用用canvas2image下载


Posted in HTML / CSS onApril 04, 2019

之前在网上找到一个用 <a> 的 download属性下载的方法,确实很简单也很方便,但此方法不支持IE,无奈又找到另一方法。

使用html2canvas将页面转成图,用canvas2image下载

本例使用的版本:

  • html2canvas@1.0.0-alpha.12
  • canvas2image@1.0.5

安装

npm install html2canvas canvas2image --save

引入

import html2canvas from 'html2canvas';
require('./canvas2image.js');

canvas2image.js 需要改动一下,以便绑在window上

(function($){
    Canvas2Image = function () {
    ...
    }
}

_dataURL 可以用来回显,Canvas2Image.saveAsPNG(canvas) 会直接下载。

Canvas2Image提供了下面几种方法:

Canvas2Image.saveAsImage(canvasObj, width, height, type)
Canvas2Image.saveAsPNG(canvasObj, width, height)
Canvas2Image.saveAsJPEG(canvasObj, width, height)
Canvas2Image.saveAsGIF(canvasObj, width, height)
Canvas2Image.saveAsBMP(canvasObj, width, height)

Canvas2Image.convertToImage(canvasObj, width, height, type)
Canvas2Image.convertToPNG(canvasObj, width, height)
Canvas2Image.convertToJPEG(canvasObj, width, height)
Canvas2Image.convertToGIF(canvasObj, width, height)
Canvas2Image.convertToBMP(canvasObj, width, height)

在vue中可以用$refs 确定DOM;

backgroundColor: null,此句可使转出的图没有白边

methods: {
            toImage() {
                let _this = this;
                html2canvas(this.$refs.index,{
                    backgroundColor: null
                }).then((canvas) => {
                    let _dataURL = canvas.toDataURL("image/png");                    
                    // _this.dataURL = _dataURL;
                    Canvas2Image.saveAsPNG(canvas)
                });
            },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。   

HTML / CSS 相关文章推荐
CSS3 Backgrounds属性相关介绍
May 11 HTML / CSS
CSS3实现文本垂直排列的方法
Jul 10 HTML / CSS
Android本地应用打开方法——通过html5写连接
Mar 11 HTML / CSS
HTML5和以前HTML4的区别整理
Oct 20 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
Apr 23 HTML / CSS
简单介绍HTML5中audio标签的使用
Sep 24 HTML / CSS
HTML5操作WebSQL数据库的实例代码
Aug 26 HTML / CSS
html5超简单的localStorage实现记住密码的功能实现
Sep 07 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
Oct 17 HTML / CSS
HTML5实现移动端点击翻牌功能
Oct 23 HTML / CSS
基于CSS3画一个iPhone
Apr 21 HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
Apr 10 #HTML / CSS
canvas画布实现手写签名效果的示例代码
Apr 23 #HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
Apr 26 #HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
Apr 28 #HTML / CSS
Html5实现单张、多张图片上传功能
Apr 28 #HTML / CSS
鲜为人知的HTML5语音合成功能
May 17 #HTML / CSS
Html5内唤醒百度、高德APP的实现示例
May 20 #HTML / CSS
You might like
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
禁止F5等快捷键的JS代码
2007/03/06 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
php中给js数组赋值方法
2014/03/10 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
python类型强制转换long to int的代码
2013/02/10 Python
初步探究Python程序的执行原理
2015/04/11 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
详细分析Python垃圾回收机制
2020/07/01 Python
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
与美同行演讲稿
2014/09/13 职场文书
病人慰问信范文
2015/02/15 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
检察院起诉书
2015/05/20 职场文书
辩护词范文大全
2015/05/21 职场文书
Android实现图片九宫格
2022/06/28 Java/Android