zoukankan      html  css  js  c++  java
  • html2canvas,html2canvas截取图片,html2canvas快照,vue html2canvas快照,vue使用html2canvas截图

    页面截图,快照vue使用

    第一步

    npm install html2canvas

    第二步  

    在使用的页面引入

    import html2canvas from 'html2canvas';    

    页面 

    截图内容外框 id    nodeBox

    <template>
      <div class="app-container">
        <div id="nodeBox">
                <div class="body-box">
        内容内容
                  </div>
          </div>
     
        <img id="downImg" :src="dataurl" alt />
      </div>
    </template>        

    js

      //截取图片
        setImage() {
        //要先置顶,避免只截图一半
          window.pageYoffset = 0;
          document.documentElement.scrollTop = 0;
          document.body.scrollTop = 0;
          let that = this;
          var canvas2 = document.createElement("canvas");
          let _canvas = document.getElementById("nodeBox");
          var w = parseInt(window.getComputedStyle(_canvas).width);
          var h = parseInt(window.getComputedStyle(_canvas).height);
          //将canvas画布放大若干倍,然后盛放在较小的容器内,就显得不模糊了
          canvas2.width = w ;
          canvas2.height = h ;
          canvas2.style.width = w + "px";
          canvas2.style.height = h + "px";
          //可以按照自己的需求,对context的参数修改,translate指的是偏移量
          var context = canvas2.getContext("2d");
          html2canvas(document.getElementById("nodeBox"), {
            canvas: canvas2
          }).then(function(canvas) {
            var pageData = canvas.toDataURL("image/jpeg", 1.0);
            that.dataurl = pageData;
          crudMatchingConfim.uploadImage64({ file: pageData }).then(data => {
              var configPic = data.fileName;
              crudMatchingConfim
                .fkBankExcelConfirm({
                  configPic: configPic,
                  batchNo: that.$route.query.batchNo
                })
                .then(data => {
                  that.nextDetails();
                });
            });

          });
        },

         // 下载图片
    // that.saveFile( // pageData.replace("image/jpeg", "image/octet-stream"), // new Date().getTime() + ".jpeg" // ); }); }, /** * 在本地进行文件保存 * @param {String} data 要保存到本地的图片数据 * @param {String} filename 文件名 */ saveFile(data, filename) { var save_link = document.createElementNS( "http://www.w3.org/1999/xhtml", "a" ); save_link.href = data; save_link.download = filename; var event = document.createEvent("MouseEvents"); event.initMouseEvent( "click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null ); save_link.dispatchEvent(event); }, getBlob(canvas) { //获取blob对象 var data = canvas.toDataURL("image/jpeg", 1); this.dataurl = data; console.log(this.dataurl); data = data.split(",")[1]; data = window.atob(data); var ia = new Uint8Array(data.length); for (var i = 0; i < data.length; i++) { ia[i] = data.charCodeAt(i); } return new Blob([ia], { type: "image/jpeg" }); }
  • 相关阅读:
    去掉ASP.NET Development Server 中的虚拟路径
    实战 SQL Server 2008 数据库误删除数据的恢复
    人的一生,到底在追求什么?
    每日一记20211215
    CentOS系统配置本地yum源
    mysql修改和查看时区
    依赖报错问题
    没想到MarkText竟然是一款比Typora更简洁优雅的markdown编辑器,完全开源免费!
    免费javascript富文本编辑器 总有一款会适合你!
    90%的人都不知道网页文字被禁止如何复制,教你几招神奇技能就可以免费解决,一定要看完!
  • 原文地址:https://www.cnblogs.com/FACESCORE/p/13273392.html
Copyright © 2011-2022 走看看