h5端实现长按二维码保存图片功能
2023-12-14 13:12:57
h5端实现长按二维码保存图片功能
1、生成二维码
<script>
export default {
methods: {
// 生成二维码
crateQRcode () {
if (this.qrcode) {
this.qrcode.clear();
this.qrcode.makeCode(this.shareResult.url); // 生成新的二维码
} else {
this.qrcode = new QRCode('qrcode', {
width: 111, //宽度
height: 111, // 高度
text: this.shareResult.url, // 二维码内容--一般为后端传递过来的链接地址,当扫码二维码的时候,会进行相应的跳转
render: 'canvas',// 设置渲染方式(有两种方式 table和canvas,默认是canvas)
});
}
this.toSaveImage();
},
// 展示二维码
showQRcode () {
this.$nextTick(() => {
this.crateQRcode();
})
},
},
}
</script>
2、将二维码转化为图片
<script>
export default {
methods: {
// 二维码转化为图片
toSaveImage() {
// 保存图片
this.$nextTick(async () => {
let imageWrapper = document.getElementById("qrcode");
try {
let canvas = await html2canvas(imageWrapper, {
height: 111,
width: 111,
backgroundColor: null,
useCORS: true,
allowTaint: true,
scrollX: 0,
scrollY: 0,
dpi: window.devicePixelRatio * 2,
});
let res = canvas.toDataURL("image/png");
this.qrCodeShow = false;
document.getElementById('imgCode').setAttribute('src',res);
} catch (err) {
console.log(err)
}
});
},
}
</script>
文章来源:https://blog.csdn.net/yangyanqin2545/article/details/134991601
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!