1

このメソッドの実装/ソース コードを探す方法はありますか? 元の画像を上書きし続け、画像ビューをビットマップに数回変換した後、画像があまりきれいに見えなくなるため、API で 2 つの画像を比較する必要があります。 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;
}

ただし、データベースからの保存と取得を数回繰り返して編集すると、画像は次のようになります。ここに画像の説明を入力

これに: ここに画像の説明を入力

そして最後にこれ: ここに画像の説明を入力

したがって、このビットマップのバイト配列をデータベースに再保存しないように、画像が変更されていないかどうかを検出する方法が必要です。

4

1 に答える 1

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

于 2011-05-16T11:16:58.890 に答える