Bonjour,
j'espére que le titre est claire,
afficher une image a partir de mysql en utilisant wxpython!!
merci d'avance
Bonjour,
j'espére que le titre est claire,
afficher une image a partir de mysql en utilisant wxpython!!
merci d'avance
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ù?
- Pour faire les requêtes MySQL?
- Convertir le blob?
- Afficher son contenu?
- W
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
Voila j'ai trouvé:
pour l'affichage !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 import base64 print base64.encodestring(photo)
Salut,
Pourquoi encoder en base64 résoud le pb?
Je doute qu'un blob MySQL ne supporte pas les formats binaires...
- W
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" />
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
Salut,
Voici un extrait du code que j'utilise :
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)...)
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
Normalement, avec ça, tu dois trouver ton bonheur
A +
Partager