2010-06-13 7 views
7

Ich möchte Java für bestimmte Farbe Bildschirm scannen.Scan-Bildschirm für Farbe

Irgendwelche Ideen, wie man das macht?

+0

Wofür brauchen Sie das? Nur neugierig. –

+0

Dachte so. Dies war einer der ersten Ansätze für ein Spiel, das ich gespielt habe. Die Texturen könnten mit denen ausgetauscht werden, die einfarbig waren und ein externes Programm würde den Bildschirm scannen. Es wurde obsolet, als jemand einen Weg fand, auf Variablen direkt im Speicher zuzugreifen. –

Antwort

14
Robot robot = new Robot(); 
    Rectangle captureSize = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); 
    BufferedImage bufferedImage = robot.createScreenCapture(captureSize); 
    // ... 

    int color = image.getRGB(x, y); 

    int red = (color & 0x00ff0000) >> 16; 
    int green = (color & 0x0000ff00) >> 8; 
    int blue = color & 0x000000ff; 
    // ... 
+0

Farbe oder Farbe? –

+0

@Reuben Mallaby Die Freuden des Schneidens und Einfügens. Farbe, Sie finden die r g und b Werte aus der Farbe. Ich habe meinen Beitrag aktualisiert –

+0

Sie sollten sagen _why_ der Arzt sollte aufgerufen werden ... –

2

Verwenden Sie Java.awt.Robot, um einen Screenshot als Bild zu erstellen und diesen Prozess zu bearbeiten.