【发布时间】:2014-09-08 11:27:23
【问题描述】:
我正在使用 rickshaw.js 在客户端生成图表。附加的 css 文件用于指定外观。生成的图是 svg。我想提供一个按钮来将图形保存为 png/jpeg 等。 我尝试了几种解决方案:
- 使用 canvg 将 svg 格式化为画布,然后进一步格式化 (http://techoctave.com/c7/posts/130-save-raphael-svg-chart-as-image)
- 使用 spin.atomicobject 提供的脚本
- 将 svg 转换为 dataUrl 并将其传递给图像标签 (http://techslides.com/save-svg-as-an-image/)
这是我的解决方案之一:
$('#save').click(function(){
var svg = $('#rickshaw_graphic_svg')[0].outerHTML;
canvg($('#myCanvas'), svg);
});
但总是出现相同的错误(与所选解决方案无关):画布(或下载的文件)完全是黑色的。但是,如果我尝试转换像 y 轴这样的更简单的 svg,它就可以工作(css ist 格式不正确)。那么可能是什么原因呢?
【问题讨论】: