IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Question sur "Picture.createFromStream"


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 91
    Par défaut Question sur "Picture.createFromStream"
    Boujour,
    J'ai eu un soucis en utilisant Picture.createFromStream.
    Mon but est de charger un image: decoder base64-créer un inputstream de puis image décodé- créer un Picture depuis inputstream -créer un Drawable depuis Picture
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    String ImgMime = "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";
        	byte [] ImgRaw = Base64.decode(ImgMime.getBytes());
        	//byte [] ImgRaw = Base64Traitor.decode(ImgMime);
        	ByteArrayInputStream is = new ByteArrayInputStream(ImgRaw);
     
        	try {
    			is.read(ImgRaw);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    		ImageView imgView =(ImageView)findViewById(R.id.Image);
    		Picture pic = Picture.createFromStream(is);
        	PictureDrawable pd = new PictureDrawable(pic);
        	imgView.setImageDrawable(pd);
    l'erreur apprait dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Picture pic = Picture.createFromStream(is);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    06-18 09:51:59.567: DEBUG/Zygote(30): Process 478 terminated by signal (11)
    06-18 09:51:59.587: INFO/ActivityManager(65): Process com.apps.ImageLoad (pid 478) has died.
    06-18 09:51:59.597: INFO/WindowManager(65): WIN DEATH: Window{438f46f8 com.apps.ImageLoad/com.apps.ImageLoad.MainPage paused=false}
    06-18 09:51:59.657: WARN/UsageStats(65): Unexpected resume of com.android.launcher while already resumed in com.apps.ImageLoad
    06-18 09:51:59.757: WARN/InputManagerService(65): Got RemoteException sending setActive(false) notification to pid 478 uid 10022
    Vous avez une idée?
    Merci!

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Il nous faudrait l'exception déclenchée afin de pouvoir t'aider.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 91
    Par défaut
    Il y avait pas de exception, juste l'application se fini tout seul..
    Et j'ai changé le code (la dernièrre ligne), plus direct, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    byte [] ImgRaw = Base64.decode(ImgMime.getBytes());
        	//byte [] ImgRaw = Base64Traitor.decode(ImgMime);
        	ByteArrayInputStream is = new ByteArrayInputStream(ImgRaw);
     
        	try {
    			is.read(ImgRaw);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    		ImageView imgView =(ImageView)findViewById(R.id.Image);
     
        	imgView.setImageDrawable(PictureDrawable.createFromStream(is, null));
    Et il me fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    06-18 11:52:10.636: DEBUG/skia(510): --- SkImageDecoder::Factory returned null

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    tu n'as pas besoin de faire le read sur ton inputstream, vu qu'on l'initialise déjà avec les données dans le constructeur.

Discussions similaires

  1. Problème sur Request.ServerVariables("QUERY_STRING"
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/03/2005, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo