zoukankan      html  css  js  c++  java
  • h5在微信生成分享海报(带二维码)

    一、前言

    人生处处是坑,最近做一个h5项目,弄这个海报很是头疼,来自萌新的无助。终于在访遍了n多个帖子,问了n个热心群友,自己顿悟之后写了出来

    之前的需求是保存海报,但是在微信中根本是无法保存的,最后做成图片然后长按保存。

    二、工具

    1. qrcode.js生成二维码
    2. html2canvas生成图片

    三、实现思路

    首先用qrcode生成二维码,然后拿到后台传的背景,接着把二维码放在背景的中央,

    最后使用html2canvas截取包含二维码和背景的div,保存成功一张图片,把这个图片渲染出来,长按即可在微信分享、保存了

    四、代码

    //用qrcodejs生成二维码
    createQrcode() {
    this.qrcodeUrl = this.host + '/#/reg' + this.qrCodeInfo[0].url;
              let qrcode = new QRCode('qrcode', {
                 120,
                height: 120,
                text: this.qrcodeUrl, // 二维码地址
                colorDark: "#000",
                colorLight: "#fff",
                correctLevel: QRCode.CorrectLevel.H
    })
    }
    //使用html2canvas生成海报
    createPoster() {
            // 生成海报
            const vm = this
            const domObj = document.getElementById('box')
            html2canvas(domObj,{useCORS: true,logging: false,}).then(function(canvas) {
              // 在微信里,可长按保存或转发 posterImg 生成的海报路径
              vm.posterImg = canvas.toDataURL('image/png')
              vm.mask = true;
            })
          }

    大功告成,是不是很简单,可是对于从未接触的萌新,可是耗费了一些功夫。

  • 相关阅读:
    【WPF】代码触发Button点击事件
    [WPF]静态资源(StaticResource)和动态资源(DynamicResource)
    stm32f103_arduino
    解除github下载的文件的锁定
    c# wpf binding
    mysql 使用可能遇到的问题
    c# progressbar
    STM32串口IAP(YModem) (转载)
    VS2017、VS2019安装包制作(转)
    八、ES集群搭建
  • 原文地址:https://www.cnblogs.com/yuxiaoge/p/11889167.html
Copyright © 2011-2022 走看看