Mettre un wxImage en ressource ? -wxWidgets-

georgeduke Messages postés 167 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 13 avril 2007 - 17 août 2005 à 11:14
whikie Messages postés 99 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 17 septembre 2005 - 18 août 2005 à 08:55
Bonjour !!



J'ai développé un petit programme avec devC++/wxWidgets qui affiche un
fichier bmp pour embellir l'interface. J'aimerais savoir comment
procéder pour mettre ce bmp externe dans l'exe, et permettre à
wxWidgets de continuer à l'afficher.



Voilà comment j'affiche le bmp actuellement :



private:

[...]

wxBitmap *fondbmp;

wxImage *monimage;

[...]




monimage = new wxImage("ha3.bmp",wxBITMAP_TYPE_BMP,-1);

fondbmp = new wxBitmap(monimage, -1);


[...]




void MyFrame::OnPaint(wxCommandEvent& WXUNUSED(event))

{

wxPaintDC dc( this );

PrepareDC( dc );



dc.DrawBitmap( *fondbmp, wxPoint(0,0) , TRUE);

}



Ca serait vraiment pratique pour moi de n'avoir que
l'exe à diffuser... donc si vous savez comment faire pour integrer
cette image dans les ressources du projet ; je serais vraiment heureux
!! :-)

4 réponses

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
17 août 2005 à 13:39
Bonjour,

pour lire un bitmap depuis une ressource il faut utiliser un wxBitmap
Voici ce que dit l'aide de wxWidget :

// an easy and portable way to create a bitmap
wxBitmap bmp(wxBITMAP(bmpname));


// which is roughly equivalent to the following
#if defined(__WXMSW__) || defined(__WXPM__)
wxBitmap bmp("bmpname", wxBITMAP_TYPE_RESOURCE);
#else // Unix
wxBitmap bmp(bmpname_xpm, wxBITMAP_TYPE_XPM);
#endif


Pour inclure ton image dans un fichier ressource pour qu'il soit linker à ton exe cherche sur ce site j'ai déjà vu un truc du genre ici.


Sinon autre possibilité tu transforme ton image bitmap en XPM tu inclus le fichier XPM a ton source avec un simple #include puis tu utilises le constructeur de wxBitmap suivant : wxBitmap(const char** bits)
Bien sur cette solution n'est valable que pour une image ayant un nombre de couleur assez réduit pour une photo ça marchera pas ou mal.
Pour l'utilisation et la transformation d'image va voir XPM Convert : soit ici soit sur mon site http://cfred.free.fr

A+

FredCL
0
whikie Messages postés 99 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 17 septembre 2005
17 août 2005 à 13:46
Bonjour,

Est ce que vous avez des adresses pour trouver des tutos 'en francais' pour apprendre WxWingets svp ?
0
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
17 août 2005 à 14:42
Sur ce site tu trouveras deux tutoriaux pour wxWidgetshttp://www.coder-studio.com/?page=tutoriaux
Ces deux documents sont fait par Funto, il montre la base de wxWidgets.

Il existe aussi un newsgroup pour wxWidgets sur usenet.

Sinon un nouveau livre vient de sortir http://www.wxwidgets.org/book/index.htm mais il est en anglais si celà ne te gène pas.

A+

FredCL
0
whikie Messages postés 99 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 17 septembre 2005
18 août 2005 à 08:55
Ok merci beaucoup
0
Rejoignez-nous