canvas toDataUrl()返回黑色图像
我正在使用canvg基于svg创建一个画布,然后通过画布下载一个图像 下面是使用svg创建画布的代码 //创建画布canvas toDataUrl()返回黑色图像,canvas,canvg,Canvas,Canvg,我正在使用canvg基于svg创建一个画布,然后通过画布下载一个图像 下面是使用svg创建画布的代码 //创建画布 var myCanvas = document.createElement("CANVAS"); canvg(myCanvas, res[0],{ ignoreMouse: true, ignoreAnimation: true , ignoreClear: true }); //Downloading the image var uri = canvas.
var myCanvas = document.createElement("CANVAS");
canvg(myCanvas, res[0],{ ignoreMouse: true, ignoreAnimation: true , ignoreClear: true });
//Downloading the image
var uri = canvas.toDataURL("image/jpeg");
var link = document.createElement("a");
link.download = name;
link.href = uri;
document.body.appendChild(link);
link.click();
获取的图像部分为黑色背景。请提供帮助。将svg图形转换为jpeg听起来不是一个好主意,这显然取决于图形,但大多数情况下png将提供更小的输出文件大小,当然质量更好。我发现了一个问题,并解决了它。我将svg转换为画布,将svg元素作为字符串,但svg的某些部分应用了外部css,因此在从DOM获取标记时,我丢失了css属性,并导致部分黑色图像。刚刚添加了缺少的CSS作为内联CSS,解决了这个问题//一行代码修复了一切$(“.c3图表行”).find(“.c3行”).css(“fill”,“none”);谢谢