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 :
buffimage est un "unsigned char *" dont la taille est allouée dynamiquement, en fonction de la taille de l'image a recevoir
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); */
Partager