有个需求,需要Job定时将需要质检SKU 图片数据上传到单独的ftp 服务器 ,数量太多 不能每次进行覆盖处理 。则这里进行已经上传 图片和SKU先有图片进行对比,不重复则上传
/**
* 对比两个图片的像素点
*/
public class ImageComparison {
public static boolean contrastPixels(InputStream stream, InputStream stream1) {
try {
BufferedImage image1 = ImageIO.read(stream);
BufferedImage image2 = ImageIO.read(stream1);
int[][] pixels1 = new int[image1.getWidth()][image1.getHeight()];
for (int y = 0; y < image1.getHeight(); y++) {
for (int x = 0; x < image1.getWidth(); x++) {
pixels1[x][y] = image1.getRGB(x, y);
}
}
int[][] pixels2 = new int[image2.getWidth()][image2.getHeight()];
for (int y = 0; y < image2.getHeight(); y++) {
for (int x = 0; x < image2.getWidth(); x++) {
pixels2[x][y] = image2.getRGB(x, y);
}
}
for (int y = 0; y < Math.max(image1.getHeight(), image2.getHeight()); y++) {
for (int x = 0; x < Math.max(image1.getWidth(), image2.getWidth()); x++) {
if (pixels1[x][y] != pixels2[x][y]) {
XxlJobLogger.log("Pixels at (" + x + ", " + y + ") differ.");
return false;
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
XxlJobLogger.log("Pixels at (\" + x + \", \" + y + \") save.");
return true;
}
}
https://www.freedidi.com/9544.html
niu