I just want to read the RGB values of a basic 2x2 pixels png file, but it returns the wrong RGB values. For example, the pixel at x = 2 and y = 2 was black, so it should return 0,0,0, but it returns white as RGB values and i need to extend the image size itself to a higher resolution than 2x2, otherwise it wont recognize any pixels except x = 1 and y = 1
public class Image
{
    public static void main(String[] args)
    {
        BufferedImage img = null;
        File f = null;
        //read image
        try{
          f = new File("image.png");
          img = ImageIO.read(f);
        }catch(IOException e){
          System.out.println(e);
        }
        int x = 2;
        int y = 2;
        int clr = img.getRGB(x, y);
        int red = (clr & 0x00ff0000) >> 16;
        int green = (clr & 0x0000ff00) >> 8;
        int blue = clr & 0x000000ff;
        System.out.println("Red Color value = " + red);
        System.out.println("Green Color value = " + green);
        System.out.println("Blue Color value = " + blue);
    }
}
User contributions licensed under CC BY-SA 3.0