【问题标题】:Generating an image with data fields using Java使用 Java 生成带有数据字段的图像
【发布时间】:2010-10-04 19:02:32
【问题描述】:

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

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

谢谢!

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

TIA!

【问题讨论】:

    标签: java image image-generation


    【解决方案1】:

    你可以使用 jfreechart

    这里有一些不错的教程 http://www.oracle.com/technology/pub/articles/marx-jchart.html

    【讨论】:

      【解决方案2】:

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


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

      【讨论】:

        【解决方案3】:

        创建你的 BufferedImage

        从此图像创建 Graphics2D

        在 Graphics2D 上绘制你的图片

        使用 ImageIO 类保存您的图像

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

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

        【讨论】:

        • 感谢您的提示。好吧,我想让数据可视化尽可能有吸引力。所以我正在考虑使用图标、图表和漂亮的字体。
        【解决方案4】:

        RRDtool (Round Robin Database) 是专门处理此类数据的数据库。

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

        安德烈律师事务所

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-04-12
          • 1970-01-01
          • 1970-01-01
          • 2021-11-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多