2011-05-16 4 views
1

Existe-t-il un moyen de rechercher l'implémentation/le code source de cette méthode? Il est dans l'API besoin de comparer deux images, car il continue d'écraser l'image originale et après plusieurs fois de convertir l'image en bitmap, l'image ne semble plus très agréable. Je fais cette méthode pour créer un bitmap à partir de l'image et le repositionner comme vue d'image pour permettre à l'utilisateur de modifier son image.Image bitmap comparer

public static Bitmap getBitmap(ImageView imageView) { 

    BitmapDrawable mDrawable = (BitmapDrawable) imageView.getDrawable(); 

    Bitmap b = mDrawable.getBitmap(); 
    return b; 
} 

Cependant, après plusieurs temps de sauvegarde et la récupération à partir de la base de données pour le modifier, l'image devient de ceci: enter image description here

à ceci: enter image description here

puis enfin ceci: enter image description here

J'ai donc besoin d'un moyen de détecter si l'image n'a pas été modifiée pour ne pas réenregistrer le tableau d'octets de cette bitmap à t La base de données

+0

pourrait vous s'il vous plaît préciser que je ne vous ai pas? –

+0

fondamentalement j'ai besoin d'un moyen de comparer deux images bitmap, que ce soit pixel par pixel ou par bitmaps entiers. – louieansonng

+0

@louieansonng avez-vous une solution? – dipali

Répondre

1

EDIT (basé sur des informations supplémentaires)

Vous économisez probablement l'image au format JPEG, qui est un format lossy. Chaque fois que vous économiserez, vous perdrez de la qualité. Si vous chargez et enregistrez l'image plusieurs fois, utilisez le format PNG ou gardez une autre copie avec le texte de l'image avec le texte - lorsque vous avez besoin de le mettre à jour, recommencez avec l'original.

RÉPONSE VIEUX:

Il n'a probablement rien à voir avec sameAs, et quelque part ce que vous faites quelque chose pour changer l'image.

La source est ici https://android.googlesource.com.

sameAs est une fonction JNI implémenté en C, vous pouvez le trouver ici:
https://android.googlesource.com/platform/frameworks/base/+/master/core/jni/android/graphics/Bitmap.cpp

+0

Je pensais utiliser sameAs pour vérifier si les deux images sont les mêmes au lieu d'implémenter mes propres – louieansonng