1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import java.awt.image.DataBuffer;
public class Test {
public static boolean areEquals(BufferedImage img1, BufferedImage img2) {
DataBuffer db1 = img1.getData().getDataBuffer();
DataBuffer db2 = img2.getData().getDataBuffer();
int size = db1.getSize();
if (size!=db2.getSize())
return false;
for (int i=0; i<size; i++)
if (db1.getElem(i)!=db2.getElem(i))
return false;
return true;
}
public static void main(String[] args) {
try {
Rectangle rect = new Rectangle(0, 0, 54, 54);
BufferedImage img1 = new Robot().createScreenCapture(rect);
BufferedImage img2 = new Robot().createScreenCapture(rect);
System.out.println(areEquals(img1, img2));
rect = new Rectangle(0, 0, 40, 40);
img2 = new Robot().createScreenCapture(rect);
System.out.println(areEquals(img1, img2));
rect = new Rectangle(54, 54, 54, 54);
img2 = new Robot().createScreenCapture(rect);
System.out.println(areEquals(img1, img2));
} catch (Exception e) { System.out.println(e); }
}
} |
Partager