Bonjours, je pense qu'un recapitulatif s'impose :

j'ai un prog client serveur.
je le voulait multi OS, donc j'ai utilisé Wxwidgets
Mon serveur doit capturer l'image affichée a l'ecran
=>utilisation de l'API windows

mon client doit afficher cette image
=>je tente d'utiliser wxwidgets quand meme...

donc, a l'aide de l'api windows, je suis sensé envoyer le champ de bit uniquement(mais, je ne connait pas son format : 8bit, 16bit...). Je precise que je n'envoie aucune meta donnée de mon bitmap, juste le tableau des couleures.

ensuite, coté client, je veut recupérer cette image, et l'afficher.
voici mon 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
17
18
19
 
wxCoord x = 0;
wxCoord y = 0; 		     		    
wxImage MyImage;
MyImage = new wxImage(1024, 768, buffImage); //buffimage : le buffer de données => le champ de bit => la bitmap ;p
wxBitmap bmp(MyImage,8);
wxScreenDC *ecranDC; 		   		    
ecranDC->StartDrawingOnTop();
ecranDC->DrawBitmap(bmp, x, y, false);  <===PLANTAGE
//PLANTAGE, justye au dessus => erreure de segmentation
ecranDC->EndDrawingOnTop();
 
/* cette partie en commentaire, me servait de test : j'envoyait un fichier, et le ré-ecrivait : ca marchait
 
wxFile *myfile ;
myfile= new wxFile(_("./image/testBMPRecue.bmp"), wxFile::write);
myfile->Write(buffImage, tailleImg);
SetImgCliEnCours(false);
*/
buffimage est un "unsigned char *" dont la taille est allouée dynamiquement, en fonction de la taille de l'image a recevoir