Html5 canvas 为什么jpeg数据URL是一个完整的黑色图像?

Html5 canvas 为什么jpeg数据URL是一个完整的黑色图像?,html5-canvas,jpeg,data-url,Html5 Canvas,Jpeg,Data Url,当我这样做的时候 var data = canvas.toDataURL("image/png"); window.open(data,"My Image","width=500,height=400"); 我准确地得到了画布上的东西 var data = canvas.toDataURL("image/jpeg"); window.open(data,"My Image","width=500,height=400"); 我得到了一个完整的黑色图像。有人能解释为什么会这样吗?还是我做错了什

当我这样做的时候

var data = canvas.toDataURL("image/png");
window.open(data,"My Image","width=500,height=400");
我准确地得到了画布上的东西

var data = canvas.toDataURL("image/jpeg");
window.open(data,"My Image","width=500,height=400");

我得到了一个完整的黑色图像。有人能解释为什么会这样吗?还是我做错了什么?顺便说一下,我正在使用谷歌Chrome。

也许可以解释这一点。但是
image/png
总是更好,因为它是一种无损格式,我建议你使用它。@Havenard是的,我同意你说png更好,但问题是我需要使用jsPDF打印画布图像的PDF,jsPDF addImage()函数只接受jpeg图像数据URL,我试图给它png数据URL只是为了检查,但它给了我错误。jsPDF正在将黑色图像打印到pdf文件中,我必须对dataURL做一些处理