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 ''
      }
    },
相关推荐
学网安的肆伍8 小时前
【046-WEB攻防篇】注入工具&SQLMAP&Tamper编写&指纹修改&高权限操作&目录架构
前端·架构
森林的尽头是阳光8 小时前
tree回显问题
javascript·vue.js·elementui
Highcharts.js9 小时前
如何下载使用Highcharts Grid 开发web可编辑表格
前端·人工智能·grid 表格·web 表格·在线编辑表格·highcharts表格安装·表格开发工具
用户62960593247059 小时前
从“浏览器根本区分不了”到真正实现:刷新不退出,关闭标签页自动退出,前端判断浏览器关闭和刷新
前端
qetfw9 小时前
MWU:Vue 3 + FastAPI 的 MaaFramework 跨平台 WebUI 源码
前端·vue.js·python·fastapi·开源项目·效率工具
mfxcyh9 小时前
Vue3+Ant Design Vue 实现手动异步文件上传(含大小校验、弹窗上传)
前端·javascript·vue.js
wordbaby9 小时前
Web端热敏标签打印完整解决方案(QZ Tray + 译维A42)
前端
swipe10 小时前
03|Axios 请求进了后端之后:Controller、Request、Response 是怎么接住它的?
前端·后端·全栈
meilindehuzi_a10 小时前
Vue3进阶基础:指令修饰符、v-model表单绑定、动态样式、计算属性与侦听器实战
前端·javascript·vue.js
csdn2015_10 小时前
vue 前端运行命令
前端·javascript·vue.js