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

wxPython Discussion :

mysqdb & wxpython | Comment afficher une image a partir d'un champs blob


Sujet :

wxPython

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut mysqdb & wxpython | Comment afficher une image a partir d'un champs blob
    Bonjour,
    j'espére que le titre est claire,
    afficher une image a partir de mysql en utilisant wxpython!!
    merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,
    Le blob arrivant de MySQL n'est qu'une suite de bytes que vous allez récupérer en mémoire.
    Les afficher avec WX demande peut être des conversions mais wx.image sait faire des choses... Au pire, il pourra être aidé par PIL.

    Ca coince où?
    1. Pour faire les requêtes MySQL?
    2. Convertir le blob?
    3. Afficher son contenu?


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Merci wiztricks pour ta réponse,

    j'ais pas de probléme au niveau mysql par contre pour Convertir le blob? et afficher son contenu !!ca me fait mal ,

    merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Voila j'ai trouvé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import base64
    print base64.encodestring(photo)
    pour l'affichage !!!

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,
    Pourquoi encoder en base64 résoud le pb?
    Je doute qu'un blob MySQL ne supporte pas les formats binaires...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    la solution :
    http://www.developpez.net/forums/d83...on-mysql-blob/


    maint faut mettre wx.Image mais comment !!!

    exemple en html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <img src="data:image/png;base64,
    iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP
    C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA
    AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J
    REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq
    ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0
    vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,
    Hmm, c'est pas très clair tout çà!
    Décomposez:
    1 - Afficher une image à partir d'un fichier .JPG ou autre avec wx.image,
    exemple: img= wx.Image('fichier.jpg',wx.BITMAP_TYPE_JPEG)
    2 - Remplacer le fichier par un buffer mémoire,
    voir s'il est possible de charger un buffer plutôt qu'un file-like sinon StringIO
    3 - Remplir le buffer mémoire à partir du blob MySQL - dans lequel vous aurez stocké le contenu du fichier "cru".
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Points : 240
    Points
    240
    Par défaut
    Salut,

    Voici un extrait du code que j'utilise :

    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
     
    import cStringIO
    [...]
     
    db = GestionDB.DB()
    req = "SELECT IDphoto, photo FROM photos WHERE IDindividu=%d;" % IDindividu 
    db.ExecuterReq(req)
    listeDonnees = db.ResultatReq()
    db.Close()
    if len(listeDonnees) > 0 :
         IDphoto, bufferPhoto = listeDonnees[0]
         # Transformation du buffer en wx.bitmap
         io = cStringIO.StringIO(bufferPhoto)
         img = wx.ImageFromStream(io, wx.BITMAP_TYPE_JPEG)
         bmp = img.Rescale(width=taillePhoto[0], height=taillePhoto[1], quality=qualite) 
         bmp = bmp.ConvertToBitmap()
         return bmp
    Ce code va chercher le BLOB dans la base MySQL, le redimensionne à la taille souhaitée (taillePhoto), et le transforme en wx.Bitmap. Tu peux ainsi mettre ensuite le bmp dans un wx.StaticBitmap par exemple... (ex : self.myStaticBitmap.SetBitmap(bmp)...)

    Normalement, avec ça, tu dois trouver ton bonheur

    A +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher une image a partir d'un champ Blob
    Par aimer_Delphi dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/07/2011, 15h31
  2. [MySQL] afficher une image a partir d'un champs blob
    Par duko57 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/04/2008, 14h22
  3. Comment afficher une image en assembleur ?
    Par byte dans le forum Assembleur
    Réponses: 26
    Dernier message: 03/03/2005, 13h25
  4. Réponses: 6
    Dernier message: 22/12/2004, 11h00
  5. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 09h28

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