有没有办法获取高图图表,并获得它的base64表示?
换句话说,相当于首先将其导出为PNG或JPG(我不关心哪个),然后获取该图像的base64字符串。
有没有办法获取高图图表,并获得它的base64表示?
换句话说,相当于首先将其导出为PNG或JPG(我不关心哪个),然后获取该图像的base64字符串。
这是我如何解决它:
使用 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)
UPDATE
得到highcharts SVG
chart.getSVG()
方法 $(your svg).html()
首先,看看 highcharts
有关导出文件的文档。这将为您提供所需图像URL的字符串。
出口: http://www.highcharts.com/ref/#exporting
使用HTTP请求(例如,使用AJAX)获取文件二进制内容(jpg / png)并将其传输到base64编码库,如下所示:
Base64编码: http://www.webtoolkit.info/javascript-base64.html
享受,祝你好运!