Canvas 无法将复杂的svg转换为画布(和下载)

Canvas 无法将复杂的svg转换为画布(和下载),canvas,svg,Canvas,Svg,我正在使用rickshaw.js在客户端生成图形。附加css文件用于指定外观。生成的图形是svg。我想提供一个按钮,将图形保存为png/jpeg等。 我尝试了几种解决方案: $('#save').click(function(){ var svg = $('#rickshaw_graphic_svg')[0].outerHTML; canvg($('#myCanvas'), svg); }); 使用canvg将svg格式化为画

我正在使用rickshaw.js在客户端生成图形。附加css文件用于指定外观。生成的图形是svg。我想提供一个按钮,将图形保存为png/jpeg等。 我尝试了几种解决方案:

$('#save').click(function(){
            var svg = $('#rickshaw_graphic_svg')[0].outerHTML;
            canvg($('#myCanvas'), svg);

        }); 
使用canvg将svg格式化为画布,然后进一步格式化 使用spin.atomicobject提供的脚本 将svg转换为dataUrl并将其传递给图像标记 这里是我的一个解决方案:

$('#save').click(function(){
            var svg = $('#rickshaw_graphic_svg')[0].outerHTML;
            canvg($('#myCanvas'), svg);

        }); 

但无论选择何种解决方案,都会出现相同的错误:画布或下载的文件是完全黑色的。但是,如果我尝试转换一个更简单的svg,比如y轴,它可以正常工作,但格式不正确。那么原因是什么呢

图书馆没有问题。因为网格没有填充属性,所以整个画布是黑色的