首页 > 其他分享 >html2canvas 截图不全问题解决

html2canvas 截图不全问题解决

时间:2023-10-16 10:25:47浏览次数:39  
标签:截图 克隆 不全 html2canvas cloneDom true 节点

有个低代码平台项目,需求是要将canvas画布上的echarts图表等组件截图保存,如果是正常比例(也就是百分百比例)截图是正常的,但如果画布处于缩放状态进行截图的话就会因组件上的一些样式影响而导致截图不全。为了解决这一问题,在网上也查找了很多资料,终于找到解决办法,亲测有效。

话不多说,上代码:

async setCollect(id: string) {
      try {
        // 克隆节点,默认为false,不复制方法属性,为true是全部复制。
        const cloneDom: any = document.querySelector(`#id_${id}`)?.cloneNode(true)
        // 设置克隆节点的style属性,因为之前的层级为0,我们只需要比被克隆的节点层级低即可。
        cloneDom.style.zIndex = -1
        // 将克隆节点动态追加到body后面。
        document.querySelector('body')?.append(cloneDom)

        // 生成图片
        const canvasImage: HTMLCanvasElement = await html2canvas(cloneDom, {
          backgroundColor: null,
          allowTaint: true,
          useCORS: true
        })
        // 移除复制的节点
        document.querySelector('body')?.removeChild(cloneDom)
        // 上传预览图
        let uploadParams = new FormData()
        uploadParams.append(
          ...
        )
      } catch (value) {
        loadingError()
      }
    }

 

标签:截图,克隆,不全,html2canvas,cloneDom,true,节点
From: https://www.cnblogs.com/minjh/p/17766776.html

相关文章

  • 学习笔记5 截图+代码
    一、苏格拉底挑战二、遇见的困难三、实践截图和代码课堂笔记:man3printfman-ksort//会找到含有sort功能的命令或函数man-ksort|grep3//缩小查找范围到C语言命令课本练习:#include<stdio.h>#include<stdlib.h>#include<stdint.h>#defin......
  • 自动批量将阿里云盘资源发布成WordPress文章带截图Python脚本(含正文 付费信息 下载地
    自动批量将阿里云盘资源发布成WordPress文章带截图Python脚本(含正文付费信息下载地址SEO等自动设置)自动批量将阿里云盘资源发布成WordPress文章带截图Python脚本(含正文付费信息下载地址SEO等自动设置)源码下载自动上传图片至WordPress站点,使用RestFulAPI批量发布文章,文章含......
  • 苏格拉底问答、实践过程截图、遇到问题解决问题截图,代码链接
    defineVOLUME_NAME"EXT2FS"//卷名#defineBLOCK_SIZE512//块大小#defineDISK_SIZE4612//磁盘总块数defineDISK_START0//磁盘开始地址#defineSB_SIZE32//超级块大小是32BdefineGD_SIZE32//块组描述符大小是32B#defineGDT_START(0+512)//块组描述......
  • 电脑怎么截图,教你3种好用的截图方法
    https://zhuanlan.zhihu.com/p/545895587 大家在工作中经常会遇到截图的场景,其中截图聊天记录、网页内容、电影画面等等场景。当然还有一些特殊的场景,比如需要截图截取一个网页长图。那么我们如何来更好的截图,接下来小编教大家3种方法。方法一:使用系统自带工具截图;好处:免费......
  • MPAndroidChart 中的HorizontalBarChart数值显示不全问题
    privateHorizontalBarCharthor_bar_chart;hor_bar_chart=(HorizontalBarChart)findViewById(R.id.hor_barchart);YAxisleftYAxis=hor_bar_chart.getAxisLeft();//设置y轴边距,解决数值过大显示不全问题leftYAxis.setSpaceTop(25f);privateHorizontalBarCharthor_bar_c......
  • C# Dx截图初始化报错“SharpDX.SharpDXException: HRESULT: [0x80070057], Module: [G
    最近发现Dx截图创建输出设备时output.QueryInterface<Output1>().DuplicateOutput报错:“SharpDX.SharpDXException:HRESULT:[0x80070057],Module:[General],ApiCode:[E_INVALIDARG/InvalidArguments],Message:参数错误。经过验证,如果一个进程多次创建输出设备(多次调用o......
  • 【Azure 容器应用】在中国区Azure上创建的容器服务默认应用域名不全
    问题描述在中国区Azure上,创建ContainerApp服务,发现默认的应用程序URL只有前半段,并不是一个完整的域名。这是什么情况呢?正常的ContainerApp的URL格式为:<containerappname>.<environment>.<region>.azurecontainerapps.cn。如:mymoreappinone04.icysand-c9bc5d4e.chinanorth3.......
  • 掌握全局,捕捉瞬间:Snagit2023-专业屏幕录制与截图软件
    Snagit2023是一款功能强大的屏幕录制与截图软件,为您带来全新的视觉体验和高效的屏幕操作。无论您需要记录屏幕操作、制作教程视频,还是与他人分享屏幕内容,Snagit2023都能满足您的需求。→→↓↓载Snagit2023mac版一、高清屏幕录制,流畅捕捉每一个细节Snagit2023支持高清无损的......
  • 学习笔记4 截图+代码
    学习笔记4一、苏格拉底挑战二、学习时遇见的问题利用gpt解决三、实践stat和opendir-readdir四、实践代码使用stat结构体:#include<stdio.h>#include<sys/stat.h>intmain(){structstatfileStat;//获取文件属性......
  • 代码链接与实践截图
    include<fcntl.h>include<unistd.h>intmain(){intfile_desc=open("test.txt",O_RDONLY);if(file_desc<0){//错误处理}//进行其他操作...close(file_desc);return0;}include<fcntl.h>include<unistd.h>intmain(){c......