HTML转化canvas 图片并保存到本地

1. 安装插件


npm install html2canvas --save
现在最新的版本应该是1.0.0,另外还有一个比较经典的版本是0.5.0,网上有许多关于这个版本的bug说明。

2. 使用

 

<div class="imageWrapper" ref="imageWrapper">
    <img class="real_pic" :src="dataURL" />
    <slot></slot>
</div>


slot里面是你需要转化为图片的DOM元素。img标签为我们转换成功以后要展示的图片,将生成的图片地址放进去即可

data() {
    return {
        dataURL: ''
    }
},


//dataURL是我们最后转化图片成功后生成的base64格式的图片地址,放在img标签中即可展示。

methods: {

toImage() {
    html2canvas(this.$refs.imageWrapper,{
        backgroundColor: null
    }).then((canvas) => {
        let dataURL = canvas.toDataURL("image/png");
        this.dataURL = dataURL;
    });
}
}

html2canvas的用法非常简单,不过1.0.0已经将写法改为了promise,在.then方法里获取canvas对象。

首先,假使生成的二维码图片挂载在id为target的div标签下

<div data-v-4eb8d02a="" id="target" class="qrcode">
       <canvas width="85" height="85"></canvas>
</div>


生成canvas图片的方法:

$('#target').qrcode({
       text: "message",
       width: 85,
       height: 85
});


调用saveImg方法,将生成的二维码图片保存到本地:

saveImg() {
        var canvasData = $('#target').children('canvas');
        var a = document.createElement("a");
        a.href = canvasData[0].toDataURL();;
        a.download = "drcQrcode";
        a.click();
 },


当方法调用时,即可将生成的二维码图片下载到本地(注意:a链接的downlo属性的兼容性)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值