2014-09-07 2 views
5

Я искал google для таких вещей, как «Растровое изображение Java», «Создать растровое изображение Java» и т. Д. И не может найти много информации. Из всех примеров кода это похоже на то, что все библиотеки растровых изображений являются сторонними или для Android.Имеет ли Java класс Bitmap?

Что я хочу сделать, очень просто. Я хочу создать небольшое растровое изображение, возможно, 10x80, и иметь возможность раскрашивать каждый пиксель на (x, y). Я хочу сделать небольшую, я предполагаю, цветную полосу, которая покажет положение позиций в очереди по цвету.

Есть ли встроенные библиотеки для этого?

ответ

9

Класс java.awt.BufferedImage. Это имеет специфичные для пикселя методы get/set. http://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html

+0

Обратите внимание, что если вы планируете изменять пиксели изображения, то лучше использовать [VolatileImage] (http://docs.oracle.com/javase/7/docs/api/java/awt/image /VolatileImage.html). Это связано с тем, что «VolatileImage» аппаратно ускоряются, даже когда их пиксели изменяются. – BitNinja

5

Ниже приведен пример создания и записи пикселей с BufferedImage:

BufferedImage image = new BufferedImage(10, 80, BufferedImage.TYPE_4BYTE_ABGR); 
image.setRGB(5, 20, Color.BLUE.getRGB()); 

Третий параметр на изображении является типом, который может различаться в зависимости от использования, но для базовых твердых окрашивает один показан хорошо. SetRGB использует внутреннее представление цвета, поэтому вы можете просто использовать константу цвета напрямую.

Возможно, вы не хотите использовать VolatileImage, потому что преимущества в пользовательских реализациях Java сомнительны. См. this stackoverflow question, почему это может не помочь.

Обратитесь к the Oracle image turorial за помощью. В нем объясняются как ваши варианты, так и способы взаимодействия с ними.

+0

почему нисходящий для предоставления официального учебника для этого вопроса? – Eben

+1

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

+0

Спасибо за объяснение, я добавлю соответствующее резюме. – Eben

Смежные вопросы