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

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

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

本例使用的版本:

html2canvas@1.0.0-alpha.12
canvas2image@1.0.5

安装vue

npm install html2canvas canvas2image --save

引入git

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

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

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

_dataURL 能够用来回显,Canvas2Image.saveAsPNG(canvas) 会直接下载。
Canvas2Image提供了下面几种方法:npm

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,此句可以使转出的图没有白边canvas

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)
                });
            },
相关文章
相关标签/搜索