afficher une BMP venant de l'API windows
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:
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