How do I read pixels from a PNG file?

user793623 picture user793623 · Jun 22, 2011 · Viewed 31.9k times · Source

I know how to capture a screenshot by using Robot, Windowtester or FEST. I also know how to read a pixel from the screen by using robot.

int x = 10;
int y = 10; 
Color px = getPixelColor(int x, int y);

However, I don't know how to read a pixel from an image that is already captured. I'm planning to compare a current image, with an image from file. Lets say both are PNG. Are there any frameworks that I can use to compare images pixel by pixel?

Answer

hughes picture hughes · Jun 22, 2011

Is this in Java? If so, you can use ImageIO.read( "yourImage.png" ) to get a BufferedImage. That will have a getData() method which will give you a Raster object, on which you can call getPixel. See link