javascript - 没有图例的图表图像

标签 javascript extjs extjs5

使用 chart.getImage() 时,我得到了图表,但图例并没有随之而来。这已被标记为 Ext 错误一年多了。我想知道是否有人可以解决这个问题?

最佳答案

我遇到了同样的问题,不幸的是,目前在 ext 中没有解决此问题的方法。但在我的应用程序中,我所做的是使用 html2canvas 下载带有图例、标题和其他自定义 Sprite 的图表。 html2canvas 是一款免费的轻量级软件。

对于支持download属性的浏览器,可以使用如下代码。

var chart = chartObj.down('chart');
html2canvas(chart.el.dom, {
  onrendered: function(canvas) {
    var myMsg = Ext.create('Ext.window.MessageBox', {
      closeAction: 'destroy'
    });
    myMsg.show({
      title: 'Confirm Download',
      message: 'Would you like to download the chart as an image?',       
      icon: Ext.Msg.QUESTION,
      buttons: Ext.Msg.YESNO,
      closeAction: 'destroy',
      height: 165,
      width: 350
    });
    var button = myMsg.query("button[text=Yes]")[0];
    button.el.dom.setAttribute("download", "Bar Chart.png");
    var dataURL = canvas.toDataURL('image/png');
    button.setHref(dataURL);
  },
  height: chartObj.getHeight() + 500
});

对于 IE,您可以如下所示进行编码。

Ext.Msg.confirm({
  title: 'Confirm Download',
  message: 'Would you like to download the chart as an image?',
  icon: Ext.Msg.QUESTION,
  buttons: Ext.Msg.YESNO,
  closeAction: 'destroy',
  height: 165,
  width: 350,
  fn: function(btn) {
    if (btn === 'yes') {
      var chartObj = button.up('chart-container');
      html2canvas(chartObj.down('chart[hidden=false]').el.dom, {
        onrendered: function(canvas) {
          window.navigator.msSaveBlob(canvas.msToBlob(), 'Bar Chart.png');
        },
        height: chartObj.getHeight() + 500
      });
    }
  }
});

引用更多关于html2canvas

关于javascript - 没有图例的图表图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33311584/

相关文章:

javascript - 如何在 Sencha touch 中滑动多个屏幕

javascript - EXTJS 网格行着色失败

javascript - Ext.select 上的 Extjs 5.1 事件。无法在 Ext.dom.Fly 实例上使用 addListener()

javascript - 如何从 rowediting 插件的 "allowBlank: false"配置中删除窗口错误消息

javascript - javascript引擎如何检测DOM变化?

Javascript 函数改变 NCS 颜色

javascript - 如何使用 javascript 在表格单元格内打开 aspx 页面

javascript - iframe 捕获 keydown 事件

css - Sencha Architect ExtJs 应用程序中的 Icomoon 字形无法正常工作

javascript - ExtJS 5 : Parent model convert dependency on Child association