有没有办法获取高图图表,并获得它的base64表示?
换句话说,相当于首先将其导出为PNG或JPG(我不关心哪个),然后获取该图像的base64字符串。
答案 0 :(得分:9)
这是我如何解决它:
使用google canvg 它需要一个SVG文件的URL或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) ;
将此字符串转换为字节数组
Dim imageFile() As Byte = Convert.FromBase64String(YOUR HIDDEN FIELD .Value)
<强>更新强>
获取highcharts SVG
chart.getSVG()
方法$(your svg).html()
答案 1 :(得分:3)
首先,请参阅有关导出文件的highcharts
文档。这将为您提供所需图像URL的字符串。
导出:http://www.highcharts.com/ref/#exporting
使用HTTP请求(例如,使用AJAX)获取文件二进制内容(jpg / png)并将其传输到base64编码库,如下所示:
Base64 :http://www.webtoolkit.info/javascript-base64.html
享受并祝你好运!