i have a problem regarding a pixel search in java.
At the moment my Class/Programm is searching pixel by pixel thats to slow for my purposes.
I wan't Java to search the Pixels much faster so i came to the idea to ask you guys.
I'm searching for the pixels by an RGB color. This is my Source code:
final int rot = 0;
final int gruen = 0;
final int blau = 0;
int toleranz = 1;
Color pixelFarbe;
Dimension bildschirm = Toolkit.getDefaultToolkit().getScreenSize();
Robot roboter = null;
try {
roboter = new Robot();
} catch (AWTException e) {
e.printStackTrace();
OrbitRaider.log("Robot is not working.");
}
for(int x = 0; x <= bildschirm.getWidth(); x++)
{
for(int y = 0; y <= bildschirm.getHeight(); y++)
{
// Pixelfarbe bekommen
pixelFarbe = roboter.getPixelColor(x, y);
// Wenn Pixelfarbe gleich unserer Farbe
if( (pixelFarbe.getRed() < (rot - toleranz)) || (pixelFarbe.getRed() > (rot + toleranz))
&& (pixelFarbe.getGreen() < (gruen - toleranz)) || (pixelFarbe.getGreen() > (gruen + toleranz))
&& (pixelFarbe.getBlue() < (blau - toleranz)) || (pixelFarbe.getBlue() > (blau + toleranz)) ){("Could not find Pixel Color");
}
else{
System.out.println("Pixelcolor found at x: " + x + " y: " + y);
}
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…