Aller au contenu

[Problème] setImageURI() ne marche que quelques fois


visje

Recommended Posts

Bonjour, j'ai un gros problème que je n'arrive pas à résoudre.

Je suis en train de créer une application de visite d'intérieur, où l'utilisateur devra prendre des images de sa carte SD et établir des liens entre elles.

j'utilise

imgView.setImageURI(imageURI);

pour mettre l'URI d'une image dans une imageView.

Je voudrais ensuite la visualiser et éventuellement la mettre dans une gallery.

Le problème est que celà marche pour certaines images seulement !! :o ... Je comprend pas pourquoi !? De plus certaines grandes images marchent et certaines petites images ne fonctionnent pas :o !! (ce n'est donc pas un probleme de taille)

Lorsque je visualise une image qui ne marche pas, rien ne s'affiche (du noir) ... et un carré gris va dans la gallery -_- ... Pour une image qui marche .. l'image s'affiche correctement et elle figure dans la gallery.

Le truc bizzare c'est que lorsque je met les images qui ne marchent pas en tant que ressources du projet avec :

imgView.setImageResource(R.drawable.mon_image_qui_marche_pas);

eh bien là, CA MAARCHE !! :o ... le problème vient donc de la fonction "setImageURI()"...

Comme je ne peux utiliser les images que de manière dynamique, ne connaissant pas les images de l'utilisateur, je ne peux pas utiliser des images préalablement mises dans un répertoire du projet.

Si vous savez comment résoudre ce problème :| je vous en serais très reconnaissant :) MERCI !

Voilà ce que ca donne quand les images sont insérés dans la gallery: (en gris les images à problème... -_-)

a05c1bc1-1458-4286-9bf8-e5cf80c2b1d5.jpg

Lien vers le commentaire
Partager sur d’autres sites

Moi le setImageURI n'a jamais fonctionné.

J'utilise cette petite méthode qui marche bien.

public static Bitmap loadImage(String url) {
 InputStream inputStream;
 try {
     inputStream = new URL(url).openStream();
 } catch (Exception e) {
     return null;
 }

 return BitmapFactory.decodeStream(inputStream);
}

ne pas oublier les Uses Permission internet si les URLs doivent aller chercher quelque chose sur le net.

et biensur ensuite tu peux utiliser setImageBitmap(bitmap)

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton aide, j'ai appliqué ton code mais le problème reste le même ... toujours certaines images qui se lisent et pas d'autres...

Je précise encore que les images qui ne se lisent pas, se lisent lorsque je fait setImageResource()

Lien vers le commentaire
Partager sur d’autres sites

Les images qui fonctionnent sont elles dans le(s) même(s) répertoire(s) que celles qui ne fonctionnent pas?

En gros, quelles sont les différences entre celles qui fonctionnent et celles qui ne fonctionnent pas?

Lien vers le commentaire
Partager sur d’autres sites

Aucune différence ! vraiment aucune, il yen peut-être mais ca ne doit pas être visible à l'oeil nu. (ce sont de jpeg, de tailles petites ou grandes).

J'ai pu résoudre mon problème en convertissant tout mes jpeg en png ! ca marche bien, à condition que le png soit "entrelacé" (option à cocher lors de la conversion).

Lien vers le commentaire
Partager sur d’autres sites

J'ai l'impression qu'il se passe des trucs bizarres avec les images.

J'ai eu le meme problême que toi dans FreedHome: des images réagissaient bizarrement suivant leur format/ résolution...

Il suffisait que mes images passent de 72*72 à n'imprte quelle autre résolution ( changer un pixel) pour qu'elles s'affichent.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...