使用Java生成包含数据字段的图像

时间:2009-02-01 14:14:05

标签: java image image-generation

如何生成包含在数据库表中存储和更新的数据字段的JPG图像文件?然后每小时左右重新生成一次图像,反映数据库表中的最新值。

您将从基本背景图像开始,然后生成的图像应包含覆盖在背景图像顶部的数据字段(例如,平均温度,CPU加载,自上次重启后的时间等)。数据将以漂亮的图表,图标和字体显示。

谢谢!

编辑:好东西。有很多很好的建议,包括图表,尤其是像JFreechart。关于如何最好地在背景图像上叠加图像(即图标),我仍然有点不确定。基本Java API在这种情况下最适合吗?

TIA!

4 个答案:

答案 0 :(得分:3)

你可以使用jfreechart

这是一些很好的教程 http://www.oracle.com/technology/pub/articles/marx-jchart.html

答案 1 :(得分:2)

查看Java Tutorial on 2D Graphics。您可以使用BufferedImage将背景图片加载为ImageIO.read(),然后使用Graphics.drawString()在其上绘制文字。然后,您可以使用ImageIO.write()保存图像。


OP增加了更复杂的要求(漂亮的图表,图标和字体)。在这种情况下,许多图表或报告包中的一个(例如JFreeChartJasperForge)会更合适。

答案 2 :(得分:2)

创建您的BufferedImage

从此图片中创建Graphics2D

在Graphics2D上绘制你的照片

使用ImageIO类保存图像

请在此处查看示例:http://www.java2s.com/Code/Java/2D-Graphics-GUI/DrawanImageandsavetopng.htm

在您的情况下,我宁愿使用 SVG 图片,或者为什么不使用简单的HTML表?

答案 3 :(得分:1)

RRDtool(循环数据库)是专门用于处理此类数据的数据库。

RDDtool有很多java实现。恕我直言,你应该先试试Jrobin

LLP,Andrea