this code is just out of my head and untested, but it should get you on the right track.
final int w1 = b1.getWidth(); final int w2 = b2.getWidth(); final int h1 = b1.getHeight(); final int h2 = b2.getHeight(); final int w = Math.max(w1, w2); final int h = Math.max(h2, h2); Bitmap compare = Bitmap.createBitmap(w, h, Config.ARGB_8888); int color1, color2, a, r, g, b; for (int x = 0; x < w; x++) { for (int y = 0; y < h; y++) { if (x < w1 && y < h1) { color1 = b1.getPixel(x, y); } else { color1 = Color.BLACK; } if (x < w2 && y < h2) { color2 = b2.getPixel(x, y); } else { color2 = Color.BLACK; } a = Math.abs(Color.alpha(color1) - Color.alpha(color2)); r = Math.abs(Color.red(color1) - Color.red(color2)); g = Math.abs(Color.green(color1) - Color.green(color2)); b = Math.abs(Color.blue(color1) - Color.blue(color1)); compare.setPixel(x, y, Color.argb(a, r, g, b)); } } b1.recycle(); b2.recycle();
Renard
source share