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 :

Afficher une image a partir de son code en base64


Sujet :

Android

  1. #1
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut Afficher une image a partir de son code en base64
    Bonjour à tous,

    Mon problème est simple, je cherche à afficher une image que j'ai sous forne d'une String du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data:image/png;base64,9g/4AAJSk....
    dans mon application Android...Quelqu'un saurait il m'eclairer la dessus ?

    Merci d'avance,
    Jerem
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    La classe que je pense tu devrais utiliser

    http://developer.android.com/referen...apFactory.html

    Après tu peux créer une image via des bytes[], un stream ou un file descriptor, ne sachant pas d'ou provient ta string contenant tes données , je te propose les trois solutions
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    Merci Feanorin, ma String provient d'un appel à un webservice qui me renvoit un xml...
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est une image encodé en Base64. Il te faut d'abord récupérer les données de l'image, situé après le "base64," :
    Puis tu décodes cela via la méthode Base64.decode(), afin d'obtenir le tableau de bytes correspondant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] bytes = Base64.decode(text, Base64.DEFAULT);
    Tu n'as plus qu'à le passer à BitmapFactory.decodeByteArray()


    a++

  5. #5
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Bonjour

    Il suffit de chercher la classe Base64Coder.java sur internet quelque part et d'appliquer ces methodes en Android.

    Attention si le String n'est pas de format base64 tu trouvera une exception de type IllegaleArgumentException.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     
     
     
     
    /**
             * 
             * @param imageBase64 : Base64 image 
             * @return Bitmap : 
             */
    	public Bitmap getImage(String imageBase64)
    	{
    		try{
    		byte []data = Base64Coder.decode(imageBase64);
    		return BitmapFactory.decodeByteArray(data, 0, data.length);
    		}
    		catch(Exception exception)
    		{
     
    			exception.printStackTrace();
    			return null;
    		}
    	}
     
    	/**
             * 
             * @param context: current  context
             * @param imageBase64 
             * @return Drawamble
             */
     
    	public Drawable getImageDrawable(Context context,String imageBase64)
    	{
    		try{
    		byte []data = Base64Coder.decode(imageBase64);
    		Bitmap bitmap= BitmapFactory.decodeByteArray(data, 0, data.length);
    		return new BitmapDrawable(context.getResources(), bitmap);
    		}
    		catch(Exception exception)
    		{
     
    			exception.printStackTrace();
    			return null;
    		}
    	}

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jahbromo Voir le message
    Il suffit de chercher la classe Base64Coder.java sur internet quelque part
    La classe Base64 est déjà présente dans l'API d'Android...


    a++

Discussions similaires

  1. MySQL - Comment afficher une image si on a son url
    Par whitespirit dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/01/2008, 08h11
  2. savoir la taille d'une image a partir de son url
    Par kiranis dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/08/2007, 17h48
  3. Afficher une image a partir de lien.
    Par Didibzh dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 11/06/2007, 17h31
  4. Afficher une image SVG à partir du Java
    Par choumane dans le forum Multimédia
    Réponses: 3
    Dernier message: 03/12/2006, 19h52

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