位图 - 将联系人图片与SD卡上的图片进行比较

时间:2014-05-12 16:26:15

标签: android bitmap android-contacts

我想检查,如果联系人的当前用户图片与SD卡上的用户图片相同...

我将用户图片设置如下:

byte[] photo = ImageFunctions.convertImageToByteArray(bitmap);
ContentValues values = new ContentValues();
....
values.put(ContactsContract.CommonDataKinds.Photo.PHOTO, photo);
...

我读了下面的图片:

InputStream inputStream = ContactsContract.Contacts.openContactPhotoInputStream(
    contentResolver,
    ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, mId), 
    fullsize);

if (inputStream != null)
    return BitmapFactory.decodeStream(inputStream);

我的转换功能如下:

public static byte[] convertImageToByteArray(Bitmap bitmap)
{
    ByteArrayOutputStream streamy = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.JPEG, 100, streamy);
    return streamy.toByteArray();
}

我在位图的字节数组上使用md5哈希来查找更改......实际上,图像并不完全相同。

我该怎么办,以便比较哈希码?看起来像压缩或其他不完全相同的东西,所以md5哈希检查失败了......

0 个答案:

没有答案