Есть ли способ поиска реализации/исходного кода этого метода? В API это необходимо для сравнения двух изображений, потому что он сохраняет перезапись исходного изображения и после нескольких раз конвертирования изображения в растровое изображение, изображение не выглядит очень красивым.
http://developer.android.com/reference/android/graphics/Bitmap.html#sameAs(android.graphics.Bitmap)
Я делаю этот метод, чтобы создать растровое изображение из изображения и снова установить его как изображение, чтобы позволить пользователю отредактировать его изображение.
public static Bitmap getBitmap(ImageView imageView) {
BitmapDrawable mDrawable = (BitmapDrawable) imageView.getDrawable();
Bitmap b = mDrawable.getBitmap();
return b;
}
Однако после нескольких раз сохранения и извлечения из базы данных для ее редактирования изображение переходит из этого:
к этому:
а затем, наконец, это:
Итак, мне нужен способ определить, не изменилось ли изображение для меня, чтобы не переустанавливать массив байтов этого растрового изображения в базу данных.
EDIT (на основе дополнительной информации)
Вероятно, вы сохраняете изображение в формате JPEG, что является форматом с потерями. Каждый раз, когда вы экономитесь, вы потеряете качество. Если вы загружаете и сохраняете изображение несколько раз, используйте PNG или сохраняйте другую копию с текстом изображения с текстом - когда вам нужно его обновить, начните с оригинала еще раз.
СТАРЫЙ ОТВЕТ:
Вероятно, это не имеет ничего общего с sameAs, а где-то еще вы делаете что-то, чтобы изменить изображение.
Источник находится здесь https://android.googlesource.com.
sameAs
- функция JNI, реализованная в C, вы можете найти здесь:
https://android.googlesource.com/platform/frameworks/base/+/master/core/jni/android/graphics/Bitmap.cpp