【问题标题】:how to create fastest image from chart如何从图表创建最快的图像
【发布时间】:2012-05-29 08:38:37
【问题描述】:

我正在使用 JCChart 创建图表,最后我必须从此图表创建图像。我应用以下程序。

frame.add(图表); 图片 img=chart.createImage(600, 800); 图形 g = image.getGraphics(); g.setClip(0, 0, chart.getSize().width, chart.getSize().height+chart.getSize().height); 图表.paint(g);

在此过程中,当图表的数据非常大时,则线

 chart.paint(g)

花费大量时间并且也使用大量堆内存,所以任何人都可以告诉我另一种方法,以便我可以快速创建图像。

感谢和问候 迪利普·阿加瓦尔

【问题讨论】:

  • 如果图表完全显示在屏幕上,您可以使用Robot.createScreenCapture,这样可以避免冗长的渲染,但是这种策略存在重大缺陷(如果您的框架不在顶部,或者框架不够大显示完整的图表等...)。
  • @Guillaume Polet ,实际上图表不会在屏幕上显示给用户,但用户只是请求在选定的日期范围之间创建图表图像。程序会自动创建图像,然后将图像显示给用户

标签: java swing graph charts jfreechart


【解决方案1】:

已编辑:抱歉,我以为您使用的是 jfreechart。

您也可以使用 jfreechart 库的 ChartUtilities.saveChartAsJPEG() 函数。它只会将图表区域保存为...

ChartUtilities.saveChartAsJPEG(new File(graph_file_name), chart, 800, 600);

【讨论】:

    【解决方案2】:

    如果数据变大,那么您将不得不增加堆大小以便处理速度更快。 所以用

     java -Xmx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 2014-12-25
      • 2016-08-09
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多