问答

js如何处理如下的事务

作者:admin 2021-04-19 我要评论

### 刚好昨天也帮人解决了个类似的截图的问题,给你写个demo吧 demo地址 使用插件: axios html2canvas 实现思路: 先把小图信息请求回来,然后渲染到预先写好的...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

image.png

###

刚好昨天也帮人解决了个类似的截图的问题,给你写个demo吧
demo地址
使用插件:
axios
html2canvas
实现思路:
先把小图信息请求回来,然后渲染到预先写好的图二的dom里,在通过html2canvas来进行截图

  • 第一步:

绘制图二并处理为隐藏

<div id="imgwrap">
    <div class="top">xxxxxxxx</div>
    <div class="bottom">
      <div class="left">xxxxxxxxxx</div>
      <div class="right">
        ![]()
      </div>
    </div>
</div>
//核心css
  z-index: -999;
  color: #fff;
  top: 0;
  display: none;
  • 第二步:

使用html2canvas进行截图

    
function loadImg() {
      axios({
        method: 'get',
        url: 'https://gitee.com/Wzhichao/img/raw/master/uPic/h37Qjt18%20.jpg',
        responseType: 'blob'
      }).then(response => {
        const url = URL.createObjectURL(response.data)
         document.getElementById('img').src = url
        document.getElementById('imgwrap').style.display = 'block'
        html2canvas(document.getElementById('imgwrap'), {
          useCORS: true,
          onrendered: canvas => {
            const link = document.createElement('a')
            link.href = canvas.toDataURL() // 下载链接
            link.setAttribute(
              'download',
              `${new Date().toLocaleString()}.png`
            )
            link.style.display = 'none' // a标签隐藏
            document.body.appendChild(link)
            link.click() // 点击下载
            document.body.removeChild(link) // 移除a标签
            document.getElementById('imgwrap').style.display = 'none'
          }
        })
      })
    }
###

根据后端返回的信息使用canvas绘制图片并下载

###

之前写过类似的,你可以参考下(访问的时候加个时间戳,或者强制刷新一下):http://bestime.vaiwan.com/too...

拿到图片后用canvas按照图二布局绘制一张图,然后oCanvas.toDataURL("image/jpeg")a标签的url模拟click进行下载

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器