有没有办法采取一个highcharts图,并得到它的base64表示?Highcharts - 导出到base64
换句话说,相当于首先将其导出为PNG或JPG(我不关心哪个),然后获取该图像的base64字符串。
有没有办法采取一个highcharts图,并得到它的base64表示?Highcharts - 导出到base64
换句话说,相当于首先将其导出为PNG或JPG(我不关心哪个),然后获取该图像的base64字符串。
这是我如何解决这个问题:
使用google canvg 它需要一个URL到SVG文件或SVG文件的文本,解析它在JavaScript,并呈现结果的Canvas元素上。
呈现图表SVG使用
canvg(document.getElementById('canvas'),getSVG());
画布转换你有什么在画布图像
var canvas = document.getElementById("canvas") ;
var img = canvas.toDataURL("image/png"); //img is data:image/png;base64
img = img.replace('data:image/png;base64,', '');
渲染图片的隐藏字段
$("hidden field").val(img) ;
将此字符串转换为字节a rray做
Dim imageFile() As Byte = Convert.FromBase64String(YOUR HIDDEN FIELD .Value)
UPDATE
得到highcharts SVG
chart.getSVG()
方法$(your svg).html()
看起来很有前途 - 您是否知道如何获取高图表的SVG? – 2012-07-18 13:34:21
@Adam Rackis查看更新 – 2012-07-18 13:51:23
确实 - 谢谢。我会稍微回顾一下 - 我认为这可能会起作用。 – 2012-07-18 14:04:04
首先,请参阅关于导出文件的highcharts
文档。这会给你你想要的图像URL的字符串。
出口:http://www.highcharts.com/ref/#exporting
使用HTTP请求(具有AJAX,例如)来获取文件的二进制内容(JPG/PNG),并将其转移到一个base64编码库像这样的:
Base64:http://www.webtoolkit.info/javascript-base64.html
享受和祝你好运!
这是第一步那里,得到的二进制内容,我预计是最困难的。你有没有关于如何从highchart中完成的信息? – 2012-07-17 20:58:38
更新的答案。 – 2012-07-17 21:03:06
太棒了 - 感谢您的更新 – 2012-07-17 21:19:39
好的问题了投票 – 2012-07-18 12:53:00