zoukankan      html  css  js  c++  java
  • vue 生成二维码+截图

    链接生成二维码

    1.npm安装

    npm install --save qrcodejs2

    2.引入

    import QRCode from 'qrcodejs2'

    3.生成二维码

    new QRCode('qrcode', { // 传入容器id

      text: url, // 链接(必填)

      200, // 宽(默认256px)

      height: 200, // 高(默认256px)

      colorLight: '#F1F1F1' // 背景色

      colorDark: '#F00', // 前景色

      correctLevel: QRCode.CorrectLevel.L // 二维码可辨识度(L,M,Q,H)

    })

    4.代码演示:

    .qrcodeBox{
      width: 296px;
      height: 296px;
      padding: 20px;
      background: #F1F1F1;
      transform-origin: 0 0;
    }
    CSS
    <div class="qrcodeBox" :style="`transform: scale(${scale});`">
      <div id="qrcode"></div>
    </div>
    HTML
    // 计算倍数1.08rem/7.5rem
    this.scale = document.body.clientWidth * 108 / 750 / 296
    
    // 屏蔽下一行eslint报错 
    // eslint-disable-next-line
    new QRCode('qrcode', { // 容器id
      text: location.href,
      colorLight: '#F1F1F1',
      correctLevel: QRCode.CorrectLevel.L
    })
    JS

    截图

    1.npm安装

    npm install html2canvas@1.0.0-rc.4 // 指定安装版本最新版不支持IOS13

    2.引入

    import html2canvas from 'html2canvas'

    3.截图

    html2canvas(this.$refs.imageDom, // 传入容器ref值

      {

        scale: 2, // 缩放倍数

        logging: false, // 取消调试

        useCORS: true,  // 用CORS从服务器加载映像

        allowTaint: false, // 允许跨域

        proxy: 'url' // 跨域地址

      }

    ).then(canvas => {

      this.imgUrl = canvas.toDataURL('image/png') // 生成base64图片路径

    }

    4.代码演示:

    .image-box{ // 隐藏截图模板方案
      position: fixed;
      top: 0;
      left: 0;
      transform: translate(-100%,0);
      z-index: -1;
    }
    CSS
    <div class="image-box" ref="imageDom">内容,不支持object-fit属性,请用background-size代替</div>
    HTML
    // 截图时容器置顶
    window.pageYoffset = 0
    document.documentElement.scrollTop = 0
    document.body.scrollTop = 0
    // 截图
    html2canvas(this.$refs.imageDom, { scale: 2, logging: false, useCORS: true, allowTaint: false, proxy: 'https://cdn.yjwysj.cn' }).then(canvas => {
      // 设置图片:src="imgUrl"
      this.imgUrl = canvas.toDataURL('image/png')
    })
    JS
  • 相关阅读:
    一行代码搞定Dubbo接口调用
    测试周期内测试进度报告规范
    jq 一个强悍的json格式化查看工具
    浅析Docker容器的应用场景
    HDU 4432 Sum of divisors (水题,进制转换)
    HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
    CodeForces 589B Layer Cake (暴力)
    CodeForces 589J Cleaner Robot (DFS,或BFS)
    CodeForces 589I Lottery (暴力,水题)
    CodeForces 589D Boulevard (数学,相遇)
  • 原文地址:https://www.cnblogs.com/xiaolinxitong/p/13164469.html
Copyright © 2011-2022 走看看