有没有办法查找此方法的实现/源代码?它在API中需要比较两个图像,因为它会覆盖原始图像,并且在将图像视图转换为位图几次后,图像看起来不再很好。
http://developer.android.com/reference/android/graphics/Bitmap.html#sameAs(android.graphics.Bitmap)
我正在使用此方法从图像创建位图并将其再次设置为imageview以让用户编辑他的图片。
public static Bitmap getBitmap(ImageView imageView) {
BitmapDrawable mDrawable = (BitmapDrawable) imageView.getDrawable();
Bitmap b = mDrawable.getBitmap();
return b;
}
但是,在多次保存并从数据库中检索它以进行编辑后,图像将从此变为:
到此:
然后最后:
所以我需要一种检测图像是否未被更改的方法,以免将该位图的字节数组重新保存到数据库中。
答案 0 :(得分:1)
编辑(基于附加信息)
您可能将图像保存为JPEG格式,这是一种有损格式。每次拯救你都会失去品质。如果您要多次加载和保存图像,请使用PNG或使用文本保留带有图像文本的另一个副本 - 当您需要更新它时,请再次从原始文件开始。
老答案:
它可能与sameAs无关,而在其他地方你正在做一些改变图像的事情。
来源是https://android.googlesource.com。
sameAs
是用C实现的JNI函数,你可以在这里找到它:
https://android.googlesource.com/platform/frameworks/base/+/master/core/jni/android/graphics/Bitmap.cpp