有没有办法采取highcharts图,并获得它的Base64表示?
换句话说,第一导出到PNG或JPG(我不关心它),然后让该图像的一个base64字符串的等价物。
有没有办法采取highcharts图,并获得它的Base64表示?
换句话说,第一导出到PNG或JPG(我不关心它),然后让该图像的一个base64字符串的等价物。
这是我如何解决这个问题:
使用谷歌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) ;
这个字符串转换为字节数组做
Dim imageFile() As Byte = Convert.FromBase64String(YOUR HIDDEN FIELD .Value)
UPDATE
得到highcharts SVG
chart.getSVG()
方法Highcharts API
的jsfiddle例
$(your svg).html()
首先,看highcharts
上导出文件的文档。 这会给你串到你想要的图片URL。
出口 : http://www.highcharts.com/ref/#exporting
使用HTTP请求(具有AJAX,例如)来获取文件的二进制内容(JPG / PNG),并将其转移到一个base64编码库像这样的:
Base64编码: http://www.webtoolkit.info/javascript-base64.html
享受和好运!