Самый быстрый способ нарисовать статическое изображение на Java - PullRequest
2 голосов
/ 04 августа 2010

Я нахожусь в процессе написания собственного генератора тепловых карт.Мне интересно, какой самый быстрый способ - рисовать коробки (до 1 миллиона) на Java.Большинство вопросов, которые я нашел, были сосредоточены на динамических изображениях (как в играх), и мне интересно, есть ли лучший способ использовать статические изображения.Я попытался использовать свинг (с помощью GridLayout и добавить цветной холст в каждый блок), рисовать непосредственно на панели с помощью Graphics2D, а также с помощью библиотек обработки.Хотя обработка довольно быстрая и генерирует чистое изображение, в окне, похоже, возникают проблемы с его сохранением;он генерирует различные части изображения всякий раз, когда вы минимизируете, перемещаете окна и т. д.

Я слышал об OpenGL, но я никогда не касался этого, и я хотел получить некоторую обратную связь относительно того (или что-то ещеиначе) было бы лучше, прежде чем тратить на это время.

1 Ответ

2 голосов
/ 04 августа 2010

Для статических изображений я рисую их в BufferedImage (BI), а затем рисую это через Graphics2D.Я сохраняю логическое значение, которое сообщает мне, актуальна ли BI.Таким образом я только понесу дорогую картину живописи однажды.Если вы хотите стать модным, вы можете масштабировать BI для обработки небольшого изменения размера.Для значительного изменения размера вы, вероятно, захотите перекрасить BI, чтобы не вводить артефакты.Это также полезно для наложения данных (таких как перекрестие, значение под курсором и т. Д.), Поскольку вы рисуете только BI и данные.

...