javascript - Highcharts - 导出到 base64

标签 javascript highcharts

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

换句话说,相当于先将其导出为 PNG 或 JPG(我不关心是哪个),然后获取该图像的 base64 字符串。

最佳答案

我是这样解决的:

  • 使用 google canvg 它获取 SVG 文件的 URL 或 SVG 文件的文本,用 JavaScript 对其进行解析,并将结果呈现在 Canvas 元素上。

  • 使用

    将图表 svg 渲染到 Canvas
     canvg(document.getElementById('canvas'),getSVG());
    
  • 将 Canvas 中的内容转换为图像

      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()方法

Highcharts API

jsFiddle Example

  • 或者简单地使用 $(your svg).html()

关于javascript - Highcharts - 导出到 base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530634/

相关文章:

javascript - 遍历数组,将每个值分配给 Javascript/Jquery 中的元素属性

javascript - 更改除一个对象之外的所有对象的属性值

javascript - 如何使用highcharts显示多个饼图

typescript - 在版本 11.0.0 及更高版本中找不到模块 'highcharts' 的声明文件

asp.net - 将对象数组从 javascript 发送到 Web 服务的最佳方法是什么?

javascript - 无法将 svg 文件数组从公共(public)文件夹获取到 React js 中的组件

javascript - 使用 JavaScript 映射和缩减 JSON 对象

javascript - 如何在 Highcharts 中绘制每个类别的线?

colors - HighCharts:标签颜色根据饼图切片的颜色

javascript - Highcharts - 以编程方式设置饼图切片时丢失动画