2011-05-16 10 views
1

이 방법의 구현/소스 코드를 찾는 방법이 있습니까? 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; 
} 

그러나, 저장 및 편집하기 위해 데이터베이스에서 검색의 몇 시간 후, 영상이에서 전환이에 enter image description here

: enter image description here

을 한 후 마침내 : enter image description here

그래서이 비트 맵의 ​​바이트 배열을 다시 저장하지 않기 위해 이미지가 변경되지 않았는지 감지하는 방법이 필요합니다. 그는 데이터베이스. (추가 정보 기준)

+0

당신이 자세히 설명해 수 있을까? –

+0

기본적으로 픽셀 별 또는 전체 비트 맵 여부에 관계없이 두 비트 맵 이미지를 비교할 방법이 필요합니다. – louieansonng

+0

@ louieansonng 당신은 어떤 종류의 해결책을 가지고 있습니까? – dipali

답변

1

편집

당신은 아마 손실 포맷 인 JPEG,로 이미지를 저장합니다. 저장할 때마다 품질이 떨어집니다. 이미지를 여러 번로드하여 저장하는 경우 PNG를 사용하거나 이미지의 텍스트가 포함 된 다른 사본을 텍스트와 함께 보관하십시오. 업데이트해야 할 경우 원본으로 다시 시작하십시오.

OLD 답변 : 아마 sameAs와는 아무 상관이 없으며, 다른 곳에서 당신이 뭔가를하고있는 것은 이미지를 변경하는

.

출처는 https://android.googlesource.com입니다.

sameAs JNI 함수가 C로 구현, 당신은 여기를 찾을 수 있습니다 나는 당신을하지 않았기 때문에
https://android.googlesource.com/platform/frameworks/base/+/master/core/jni/android/graphics/Bitmap.cpp

+0

sameAs를 사용하여 내 이미지를 구현하는 대신 두 이미지가 동일한 지 확인합니다. – louieansonng