11
votes

Comment afficher l'image bitmap dans Android

Je fais une application dans laquelle je reçois une image MJPG de la caméra IP en direct dans Android.

Le problème est que depuis quand je reçois l'image sous la forme de byTeArray code>. Comment puis-je afficher l'image code>? P>

J'utilise le code suivant pour afficher l'image: p> xxx pré>

mais im GetIning une exception p>

android.view.ViewRoot CallFromWrongThreadException


0 commentaires

5 Réponses :


1
votes

Lorsque vous faites de la vue, le travail connexe, faites-le toujours à partir de l'écran de l'interface graphique. Le fil qui a créé la hiérarchie de vue .

Utilisez donc gestionnaires pour y parvenir.


0 commentaires

4
votes

Vous devez utiliser RunonUthread () pour mettre à jour les vues d'autres threads.


0 commentaires

1
votes

L'exception CallFromwrongthreadException signifie que vous avez essayé de mettre à jour l'interface utilisateur d'un fil qui n'est pas le fil de l'interface utilisateur et qui n'est pas autorisé.

Votre problème n'est donc pas que votre code pour créer l'image est faux, mais que vous le faites au mauvais endroit. Si vous par exemple. Exécutent l'image en arrière-plan dans un asyncktask , vous devez setImageBitMap () dans postexecute () et non dans doInbackground () .

Sans voir plus de code, nous ne pouvons pas vous aider plus.


0 commentaires

12
votes
ImageView tv1;
tv1= (ImageView) findViewById(R.id.image);
InputStream si1 = asset.open("image/" + cat_arr1[i] + ".png");
Bitmap bitmap1 = BitmapFactory.decodeStream(si1);
tv1.setImageBitmap(bitmap1);

0 commentaires

0
votes
View mImg = findViewById(R.id.image_from_gallery);
((ImageView) mImg).setImageBitmap(bitmap);
This worked for me.

0 commentaires