uniapp中使用canvas实现二维码分享海报

案例1
实现背景:

  • 海报的尺寸根据图片大小来的,宽度百分百,高度同比例缩放,图上覆盖二维码
  • 如果没有设置海报图片,使用别的图片,在底部添加一个底部的固定图片,和二维码,和图片的左上角覆盖log图
    难点:
  • 因为是使用canvas渲染的图片,但是图片的尺寸不是固定,也就是canvas的尺寸不是固定(解决:在外部先获取图片的尺寸,传进这个组件中)
  • h5是渲染正常的,微信小程序图片渲染不出来(解决:微信不支持canvas直接渲染网络图片,所以需要先缓存到本地)
.poster-box { position: fixed; top: 0; z-index: 999; background-color: rgba(0, 0, 0, 0.8); width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } .poster-image { position: absolute; top: 0; left: 0; z-index: 1000; width: 100%; height: 100%; opacity: 0; }

【uniapp中使用canvas实现二维码分享海报】使用
.width-100 { width: 100%; } .contentBgc { min-height: 100vh; width: 100vw; padding-bottom: 20rpx; }

    推荐阅读