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 ''
      }
    },
相关推荐
小爬的老粉丝几秒前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
计算机魔术师31 分钟前
新兴多智能体系统的模式与问题
前端
用户059540174461 小时前
AI Agent 上下文污染踩坑实录:用 pytest + Redis 揪出 3 类记忆串号 bug,排查 6 小时
前端·css
满栀5851 小时前
状态管理:Redux、Vuex、Pinia 核心区别
前端·javascript·typescript
一拳不是超人2 小时前
DeepSeek Harness 为什么敢说"一切皆插件"?拆透 Cordis 引擎的五大核心机制
前端·人工智能·agent
IT_陈寒2 小时前
Python的GIL让我多写了500行代码
前端·人工智能·后端
风骏时光牛马2 小时前
AI智能体能力调度微服务
前端
大龄码农有梦想3 小时前
Vue + BPMN.js + Camunda:搭建企业级流程设计器完整实践
javascript·vue.js·流程设计器·bpmn.js·bpmn·流程审批·工作流设计器
Eloudy4 小时前
ReAct 原理简介
前端·javascript·人工智能·react.js·agent·gpu
ZJU_统一阿萨姆5 小时前
【DSH】如何将 DeepSeek Harness 嵌入生产环境?万字解构 DeepSeek Agent Harness 的运行机制与安全边界
前端·javascript·安全