使用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 相关文章推荐
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
Mar 09 HTML / CSS
CSS3混合模式mix-blend-mode/background-blend-mode简介
Mar 15 HTML / CSS
CSS3——齿轮转动关键代码
May 02 HTML / CSS
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
Jun 11 HTML / CSS
html5+css3之动画在webapp中的应用
Nov 21 HTML / CSS
浅谈css3中的渐进增强和优雅降级
Dec 01 HTML / CSS
HTML5 语音搜索(淘宝店语音搜素)
Jan 03 HTML / CSS
iframe在移动端的缩放的示例代码
Oct 12 HTML / CSS
深入了解canvas在移动端绘制模糊的问题解决
Apr 30 HTML / CSS
html5手机键盘弹出收起的处理
Jan 20 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
Oct 19 HTML / CSS
clear 万能清除浮动(clearfix:after)
May 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正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
Python 列表list使用介绍
2014/11/30 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
python模块之paramiko实例代码
2018/01/31 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
安全资金保障制度
2014/01/23 职场文书
自荐信格式简述
2014/01/25 职场文书
活动宣传策划方案
2014/05/23 职场文书
广告学专业求职信
2014/06/19 职场文书
学习张林森心得体会
2014/09/10 职场文书
优秀教师申报材料
2014/12/16 职场文书
出国留学自荐信模板
2015/03/06 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
项目战略合作意向书
2015/05/08 职场文书
获奖感言一句话
2015/07/31 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android