Генерация изображения с полями данных с использованием Java - PullRequest
2 голосов
/ 01 февраля 2009

Как бы вы сгенерировали файл изображения JPG, содержащий поля данных, которые хранятся и обновляются в таблице базы данных? Затем изображение будет регенерироваться каждый час или около того, отражая последние значения в таблице базы данных.

Вы должны начать с базового фонового изображения, а затем сгенерированное изображение должно содержать поля данных (например, средняя температура, загрузка процессора, время с момента последней перезагрузки и т. Д.), Наложенные поверх фонового изображения. Данные будут визуализированы с помощью хороших диаграмм, значков и шрифтов.

Спасибо!

РЕДАКТИРОВАТЬ: Хорошие вещи. Есть много хороших предложений, касающихся графиков, особенно таких как JFreechart. Я все еще немного не уверен в том, как лучше всего работать с наложенными изображениями (т.е. значками) поверх фонового изображения. Подойдет ли базовый Java API для этого случая?

ТИА!

Ответы [ 4 ]

3 голосов
/ 01 февраля 2009

вы можете использовать jfreechart

вот хороший урок http://www.oracle.com/technology/pub/articles/marx-jchart.html

2 голосов
/ 01 февраля 2009

Создайте свой BufferedImage

создать Graphics2D из этого изображения

нарисуйте свою картинку на Graphics2D

сохранить изображение с помощью класса ImageIO

См. Пример здесь: http://www.java2s.com/Code/Java/2D-Graphics-GUI/DrawanImageandsavetopng.htm

В вашем случае я бы предпочел использовать SVG изображение, или почему бы не простую таблицу HTML?

2 голосов
/ 01 февраля 2009

Ознакомьтесь с Учебником Java по 2D-графике . Вы можете загрузить фоновое изображение как BufferedImage, используя ImageIO.read(), а затем нарисовать на нем текст, используя Graphics.drawString(). Затем вы можете сохранить изображение, используя ImageIO.write().


В ОП добавлены более сложные требования (красивые диаграммы, значки и шрифты). В этом случае один из многих пакетов диаграмм или отчетов (например, JFreeChart , JasperForge ) будет более подходящим.

1 голос
/ 01 февраля 2009

RRDtool (База данных Round Robin) - это БД, специализирующаяся на манипулировании данными такого типа.

Существует множество реализаций Java RDDtool. ИМХО, сначала попробуйте Джробин .

ТОО, Андреа

...