我正在尝试从c3.js中构建的图形生成图像 我的代码从svg元素生成一个图像。我基于这段代码,但我修改了代码以不下载图像,只是为了生成图像的base64。:
http://bl.ocks.org/Rokotyan/0556f8facbaf344507cdc45dc3622177
一切正常但效果并不如预期。
我的最后结论是文件c3.css中定义的css类被省略了。 我测试了一个不使用c3.js的代码,这个svg元素只依赖于它自己的样式,这很好用!:
http://plnkr.co/edit/pFjNgPVsJdw6Mm9gixBA?p=preview
要检查我的理论,只需评论使用c3.js的css代码,图形与生成时的图形相同。也许如果我可以直接将css代码添加到元素svg的标签样式中,这可能会起作用。这是一个假设,如果有人想尝试其他事情或让它发挥作用,我将非常感激。
这是我的问题代码:
http://plnkr.co/edit/FUSyckmj0mK1mq4Gp2Zo?p=preview
//element svg
var svgString = getSVGString(d3.select("#chart svg").node());
//generating image, the output is a base64 that will be the src of my img tag
svgString2Image( svgString, 800, 600, 'png' );
//show base64
console.log(svgString2Image( svgString, 800, 600, 'png' ))