Java Compare one BufferedImage to Another
bufferedimage, java
Solution
The obvious solution would be to compare, pixel by pixel, that they are the same.
boolean bufferedImagesEqual(BufferedImage img1, BufferedImage img2) {
if (img1.getWidth() == img2.getWidth() && img1.getHeight() == img2.getHeight()) {
for (int x = 0; x < img1.getWidth(); x++) {
for (int y = 0; y < img1.getHeight(); y++) {
if (img1.getRGB(x, y) != img2.getRGB(x, y))
return false;
}
}
} else {
return false;
}
return true;
}
Problem
I need to compare two buffered images to see if they are the exact same. Simply saying if that equals that doesn't work. My current method is ``` { Raster var1 = Img1.getData(); Raster var2 = Img2.getData(); int Data1 = (var1.getDataBuffer()).getSize(); int Data2 = (var2.getDataBuffer()).getSize(); if (Data1 == Data2) { return true; } else { return false; } } ``` But that doesn't really work. What other more reliable way is there?