Dienstag, 30. November 2010

Pixel aus BufferedImage auslesen

An die Pixel eines BufferedImage kann man ganz einfach gelangen. Den Sniplet brauchte ich vor Ewigkeiten mal und habe ihn gerade wiedergefunden. Super einfach eigentlich:

public static void main(String[] args) {
        try {
            final BufferedImage img =  ImageIO.read(new File("images/example.jpg"));
            final int w = img.getWidth();
            final int h = img.getHeight();
            final int pixels[] = new int[w * h];

            img.getRGB(0, 0, w, h, pixels, 0, w);
            
            for (int i = 0; i < pixels.length; i++) {
                System.out.println("R:" + ((pixels[i] >> 16) & 0xff) + " G:"
                        + ((pixels[i] >> 8) & 0xff) + " B:" + (pixels[i] & 0xff));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Keine Kommentare:

Kommentar veröffentlichen