背景:需求是在web端生成一张带有二维码的分享海报,用户可以将海报图片保存到本地。
实现思路: 使用qrcode生成二维码图片,再使用canvas将二维码和海报背景合成一张图片;
直接看代码
👇
// 按钮
<button v-else class="btn-default btn-share" @click.stop="sharePopup">
<span>打开分享图片</span>
</button>
// 遮盖层和海报部分
<!-- 遮盖层 -->
<div v-if="showSharePopup" class="cover">
<!-- 关闭按钮 -->
<span class="close" @click="closeSharePopup">✖️</span>
</div>
<!-- 二维码 -->
<canvas v-show="false