我正在尝试制作一个应用程序,它将拍摄两张您通过editText指定的图片,比较两个图像上每个像素的颜色,并创建一个新的图片(位图)(您可以保存到sd卡),其中包含两个原始图片之间的差异。
我在创建这个新位图时遇到了问题。我怎样才能达到我的目标?我真的不知道该如何做,我是先创建新的位图,然后写入其中,还是先得到差异,然后再从中绘制位图?这些照片将接近。300 x 300 px
发布于 2012-04-16 20:01:36
我会首先创建位图并计算每个像素之间的差异,但我们欢迎您先计算差异,然后使用Bitmap.copyPixels,但我认为第一种方法更容易理解。下面是一个示例:
// Load the two bitmaps
Bitmap input1 = BitmapFactory.decodeFile(/*first input filename*/);
Bitmap input2 = BitmapFactory.decodeFile(/*second input filename*/);
// Create a new bitmap. Note you'll need to handle the case when the two input
// bitmaps are not the same size. For this example I'm assuming both are the
// same size
Bitmap differenceBitmap = Bitmap.createBitmap(input1.getWidth(),
input1.getHeight(), Bitmap.Config.ARGB_8888);
// Iterate through each pixel in the difference bitmap
for(int x = 0; x < /*bitmap width*/; x++)
{
for(int y = 0; y < /*bitmap height*/; y++)
{
int color1 = input1.getPixel(x, y);
int color2 = input2.getPixel(x, y);
int difference = // Compute the difference between pixels here
// Set the color of the pixel in the difference bitmap
differenceBitmap.setPixel(x, y, difference);
}
}https://stackoverflow.com/questions/10180449
复制相似问题