Я разрабатываю легкий графический API для различных нужд, где хочу визуализировать изображение до его отображения. Я превзошел Компонент AWT, чтобы добиться максимальной производительности. Однако, если я визуализирую изображение (рисовать линии, прямоугольники &) в методе paint
, процесс рисования становится видимым пользователю, если метод часто вызывается (например, изменение размера окна или анимация воспроизводится) , и это довольно эффективное решение.Самый быстрый способ рисовать один пиксель в графике Java AWT
Я решил кэшировать и визуализировать изображение отдельно и просто копировать пиксели в объект Graphics в методе paint
. Но теперь я не знаю, как нарисовать один пиксель для объекта Graphics. Я полагаю, что у подстилающей реализации Sun такой метод, но я не должен обращаться к этому классу. Я знаю, что класс Graphics объявляет несколько методов (drawLine
, drawRect
, fillRect
и т. Д.), Которые кажутся легкими и могут использоваться только для рисования одного пикселя, но я не знаю, какой из них будет самым быстрым.
Я не хочу использовать BufferedImage из-за некоторых проблем с памятью, и поэтому drawImage
в этом случае не является решением. Это также не тот случай, который задан в this question, потому что, опять же, я не использую изображения, и я не создаю новые экземпляры в методе paint
(класс данных визуализированных изображений изменяется только при изменении размера компонента).
TL; др: самый быстрый метод в java.awt.Graphics, чтобы установить цвет некоторого пикселя своими координатами на указанный цвет (java.awt.Color или RGB, последняя предпочтительнее).
Заранее спасибо.
в то, что вы называете свой метод рисования, вы можете пройти по х, у координаты, а затем сделать g.drawRect (xCoord , yCoord, 1,1); –