vue html2canvas生成base64图片和图片高度

vue html2canvas生成图片

bash 复制代码
exportAsBase64() {
      const ele = document.getElementById('content');
      html2canvas(ele, {
        dpi: 96, // 分辨率  
        scale: 2, // 设置缩放  
        useCORS: true, // 允许canvas画布内跨域请求外部链接图片  
        bgcolor: '#ffffff', // 背景颜色  
        logging: false, // 不打印日志  
        allowTaint: true, // 允许跨域  
        scrollY: 0,
        scrollX: 0
      }).then((canvas) => {
        // 使用canvas的toDataURL方法将canvas转换为Base64图片  
        const base64Image = canvas.toDataURL('image/png'); // 你可以根据需要更改'image/png'为'image/jpeg'等  

        // 在这里你可以对base64Image做进一步处理,比如将其赋值给img元素的src,或者发送到服务器等  
        console.log(base64Image); // 打印Base64图片数据到控制台  
      })
        .catch((error) => {
          console.error('导出图片失败:', error);
        });
    },

加上异步 和 base64图片高度

javascript 复制代码
    async exportAsBase64() {
      try {
        const ele = document.getElementById('content');

        // 临时设置元素的高度(注意:这可能会破坏你的布局,所以你可能需要在之后恢复它)  
        ele.style.height = '1000px';
        ele.style.overflow = 'hidden'; // 如果需要的话,可以添加这个来隐藏超出部分  

        const canvas = await html2canvas(ele, {
          dpi: 96, // 分辨率    
          scale: 2, // 设置缩放    
          useCORS: true, // 允许canvas画布内跨域请求外部链接图片    
          bgcolor: '#ffffff', // 背景颜色    
          logging: false, // 不打印日志    
          allowTaint: true, // 允许跨域    
          scrollY: 0,
          scrollX: 0
        });

        // 使用canvas的toDataURL方法将canvas转换为Base64图片    
        const base64Image = canvas.toDataURL('image/png'); // 你可以根据需要更改'image/png'为'image/jpeg'等

        // 恢复元素的高度(如果需要的话)  
        ele.style.height = ''; // 清除之前设置的高度  
        ele.style.overflow = ''; // 清除之前设置的overflow  

        // 在这里你可以对base64Image做进一步处理,比如将其赋值给img元素的src,或者发送到服务器等    
        // console.log(base64Image); // 打印Base64图片数据到控制台   

        return await this.uploadImg(base64Image)
      } catch (error) {
        console.error('导出图片失败:', error);
        return ''
      }
    },
相关推荐
夏幻灵1 分钟前
Express 静态资源托管详解:从本地 HTML 到 express.static()
前端·html·express
yyuuuzz25 分钟前
云服务器部署 web 项目的进程常驻记录
运维·服务器·前端·阿里云·云计算·aws
IT_陈寒29 分钟前
一文搞懂React的核心概念
前端·人工智能·后端
weixin_BYSJ198736 分钟前
【计算机毕设】基于Spring_Boot_Vue的马拉松报名与选手成绩追踪系统05445
java·vue.js·spring boot·学习·spring·django·课程设计
薛一半1 小时前
Redux实战:组件状态管理全解析
开发语言·前端·javascript·react.js
风骏时光牛马1 小时前
功能模块性能测试用例验证
前端
对空六课2 小时前
两个统计平台数据不同:用同一时间窗和事件样本做差异定位
大数据·前端·网络·数据库
lpfasd12310 小时前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
Data analyse45612 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai13 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库