Highcharts - 出口为base64(Highcharts - export to bas

2019-06-26 09:07发布

有没有办法采取highcharts图,并获得它的Base64表示?

换句话说,第一导出到PNG或JPG(我不关心它),然后让该图像的一个base64字符串的等价物。

Answer 1:

这是我如何解决这个问题:

  • 使用谷歌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()


Answer 2:

首先,看highcharts上导出文件的文档。 这会给你串到你想要的图片URL。

出口 : http://www.highcharts.com/ref/#exporting

使用HTTP请求(具有AJAX,例如)来获取文件的二进制内容(JPG / PNG),并将其转移到一个base64编码库像这样的:

Base64编码: http://www.webtoolkit.info/javascript-base64.html

享受和好运!



文章来源: Highcharts - export to base64