2016-06-28 6 views
-4

Мне нужно это сделать, я прочитал, что это возможно/возможно с использованием BufferedImage, но я не могу узнать, как это сделать.Draw BufferedImage на пиксель компонента на пиксель

Я хотел бы пройти через изображение и нарисовать его по пикселям; любой совет должен быть действительно оценен :) Дайте мне немного света о том, какие классы я должен использовать.

Спасибо.

+0

Почему вам нужен свет от кого-то другого, когда солнце светит снаружи? – emotionlessbananas

+0

Просьба показать пример того, что вы пробовали (и указать структуру графического интерфейса пользователя) –

+0

Вы можете переписать каждый пиксель «BufferedImage» через [BufferedImage.setRBG] (https://docs.oracle.com/javase /7/docs/api/java/awt/image/BufferedImage.html#setRGB(int,%20int,%20int)). И есть способы получить RGB 'int', необходимый для этого метода, в классе' Color', например. [Color.getRGB()] (https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#getRGB) – Jared

ответ

0

Да, вы можете использовать BufferedImage для загрузки изображения с диска и чтения каждого его пикселя.

Читайте изображение, как это:

BufferedImage image = ImageIO.read("~/path/to/image.jpg"); 

И потом, вы можете получить каждый пиксель с помощью:

image.getPixel(w, h); 

перебирать все пиксели, сделать что-то вроде:

for (int i=0; i < image.getHeight(); i++) { 
    for (int j=0; j < image.getWidth(); j++) { 
     image.getPixel(j, i); // Do something with the value 
    } 
}