html生成图片下载

import html2canvas from "html2canvas";

export default {
    methods: {
        takeScreenshot(name) {
            html2canvas(document.getElementById('view')).then(canvas => {
                this.convertCanvasToImg(canvas,name)
            });
        },
        convertCanvasToImg(canvas,name) {
            // canvas base64 转 blob
            const myBlob = this.dataURLtoBlob(canvas.toDataURL('img/png', 0.92))
            // blob转URL对象
            const myUrl = URL.createObjectURL(myBlob)
            // 创建a标签,下载图片
            this.downImg(myUrl,name)
        },
        dataURLtoBlob(dataurl) {
            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
                bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
            while (n--) {
                u8arr[n] = bstr.charCodeAt(n);
            }
            return new Blob([u8arr], { type: mime });
        },
        downImg(url,name) {
            // 创建a标签 并设置其相关属性,最后触发其点击事件
            let a = document.createElement("a")
            let clickEvent = document.createEvent("MouseEvents");
            a.setAttribute("href", url)
            a.setAttribute("download", name)
            a.setAttribute("target", '_blank')
            clickEvent.initEvent('click', true, true)
            a.dispatchEvent(clickEvent);
        },
    }
}

调用:takeScreenshot('文件名')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值