Hallo zusammen,
meine Methode macht leider nicht das was sie soll, deshalb wende ich mich mal an euch Profis.
Ich möchte einen Screenshot machen und eine Farbe auf diesem Screenshot suchen. Wenn diese Farbe gefunden wurde, soll der Mauszeiger dorthin bewegt werden.
Er soll bei der Position x = 0, y= 0 beginnen. Die Auflösung des Bildschirms beträgt 1440x900.
Ich habe das Problem, dass er einfach mehrere Farben auf dem Bild nicht findet. Übersehe ich irgendwas?
Hier mal der Code:
public static void pixelFinden(Robot robot) {
Rectangle area = new Rectangle(0, 0, 1440, 900);
BufferedImage img = robot.createScreenCapture(area);
int h = img.getHeight();
int w = img.getWidth();
WritableRaster r = img.getRaster();
DataBuffer db = r.getDataBuffer();
DataBufferInt dbi = (DataBufferInt) db;
int[] data = dbi.getData();
for (int x_scale = 0; x_scale < w; x_scale++) {
for (int y_scale = 0; y_scale < h; y_scale++) {
int rgb = data[x_scale + w * y_scale];
if (rgb == -1185233) {
robot.mouseMove(area.x + x_scale, area.y + y_scale);
}
}
}
}
meine Methode macht leider nicht das was sie soll, deshalb wende ich mich mal an euch Profis.
Ich möchte einen Screenshot machen und eine Farbe auf diesem Screenshot suchen. Wenn diese Farbe gefunden wurde, soll der Mauszeiger dorthin bewegt werden.
Er soll bei der Position x = 0, y= 0 beginnen. Die Auflösung des Bildschirms beträgt 1440x900.
Ich habe das Problem, dass er einfach mehrere Farben auf dem Bild nicht findet. Übersehe ich irgendwas?
Hier mal der Code:
public static void pixelFinden(Robot robot) {
Rectangle area = new Rectangle(0, 0, 1440, 900);
BufferedImage img = robot.createScreenCapture(area);
int h = img.getHeight();
int w = img.getWidth();
WritableRaster r = img.getRaster();
DataBuffer db = r.getDataBuffer();
DataBufferInt dbi = (DataBufferInt) db;
int[] data = dbi.getData();
for (int x_scale = 0; x_scale < w; x_scale++) {
for (int y_scale = 0; y_scale < h; y_scale++) {
int rgb = data[x_scale + w * y_scale];
if (rgb == -1185233) {
robot.mouseMove(area.x + x_scale, area.y + y_scale);
}
}
}
}