131 votes

Comment convertir les données d'un fichier image dans un tableau d'octets en bitmap ?

Je veux stocker l'image dans SQLite DataBase . J'ai essayé de le stocker en utilisant BLOB et String , dans les deux cas, il stocke le image et je peux la récupérer mais quand je la convertis en Bitmap utilisant BitmapFactory.decodeByteArray(...) il renvoie null.

J'ai utilisé ce code, mais il renvoie null

 Bitmap  bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length);

305voto

Uttam Points 6194

Essayez juste ceci :

 Bitmap bitmap = BitmapFactory.decodeFile("/path/images/image.jpg");
ByteArrayOutputStream blob = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0 /* Ignored for PNGs */, blob);
byte[] bitmapdata = blob.toByteArray();

Si bitmapdata est le tableau d'octets, l'obtention de Bitmap se fait comme ceci :

 Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapdata, 0, bitmapdata.length);

Renvoie le Bitmap décodé ou null si l'image n'a pas pu être décodée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X