关于canvas.toDataURL的那些坑

关于canvas.toDataURL的那些坑

HTMLCanvasElement.toDataURL() 方法返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。图片的分辨率为96dpi。

如果画布的高度或宽度是0,那么会返回字符串“data:,”。

如果传入的类型非“image/png”,但是返回的值以“data:image/png”开头,那么该传入的类型是不支持的。

Chrome支持“image/webp”类型

html2canvas(element).then(function(canvas) {
                                var contentWidth = canvas.width;
                                var contentHeight = canvas.height;
                                var imgWidth = 2000;
                                var imgHeight = 2000/contentWidth * contentHeight;
                                var pageData = canvas.toDataURL('image/jpeg', 1.0);
                                var pdf = new jsPDF('', 'pt', [imgWidth,imgHeight]);
                                pdf.addImage(pageData, 'png', 0, 0, imgWidth, imgHeight);
                                pdf.save($("#sn").html()+'.pdf');
                            });


此代码是用了jspdf生成当前页面的pdf 发现pageData 由canvas.toDataURL(‘image/jpeg’, 1.0); 获取的变量没有内容,查了好久网上也没发现问题,后来突然想到是有张图片404 导致的 有这种问题的同学 注意下404 页面有错误 canvas.toDataURL 绘制就会有问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值