Java中的快速像素搜索

我有一个关于java中的像素搜索的问题。 目前,我的Class / Programm正逐像素地搜索,以减慢我的目的。 我不想Java更快地搜索像素,所以我开始想问你们。 我正在用RGB颜色搜索像素。 这是我的源代码:

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.getGreen()  (gruen + toleranz)) && (pixelFarbe.getBlue()  (blau + toleranz)) ){("Could not find Pixel Color"); } else{ System.out.println("Pixelcolor found at x: " + x + " y: " + y); } } } 

使用Robot类的createScreenCapture方法创建一个屏幕截图可能要快得多,然后检查这个BufferedImage的像素 – 而不是使用明显的getRGB方法(这也很慢,因为每个方法都会发生颜色空间转换调用),但是通过BufferedImage后面的int数组。

请参阅: Java – 从图像中获取像素数组