html2canvas 返回的toDataURL()数据为 data:,的解决方法

当html2canvas的toDataURL返回data:时,原因是待转换的HTML元素未设置宽度和高度或者被设置为display:none。解决办法是确保元素有明确的width和height属性,或者不将其设为display:none,以确保canvas能正确绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

html2canvas 返回的toDataURL()数据为 data:,的解决方法

我在使用html2canvas的使用, 发现toDataURL() 返回的数据为data:, 而且将数据设置为img的src属性,图片也不能正常显示,我尝试了很多方法,也没有解决出来,经过我不断的百度+自己尝试,终于解决了这个问题。

代码:

在这里插入图片描述

这段代码是没有任何问题的,标准html2canvas的demod代码,但就是无法正常将图片previewImg 渲染出来,dataURL 我打印的结果为 data:,
错误的原因是,这个 要截图的原dom元素this.$refs.imageTofile没有设置宽高,
在这里插入图片描述

我设置了宽高:

在这里插入图片描述
就完美解决问题。

原因总结是,要绘制原图的html元素必须要显示出现, 必要设置width,height属性, 或不能将display设为none, 否则打印的canvas对象就是一个空对象,那它返回的 toDataURL()就为空 data:,

我的回答解决了你的实际问题,就请给我一个赞,谢谢。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值