Sous Windows, le format XPM n'est pas supporté, alors que techniquement, il est assez utile. Sous *nix, c'est un format texte facilement transportable qui sert en programmation C. En effet, il suffit de faire un #include pour charger l'image. En wxWidgets, c'est comme ça qu'on fait.
Alors pour ne pas avoir à installer un logiciel complexe pour convertir, on va s'en créer un !!! En plus, c'est facile et tout est déjà fait dans la librairie WX.
Pour utiliser le logiciel, mettez l'image dans le dossier de l'application. Lancez cette dernière, donnez le nom d'entrée et de sortie. La conversion se fera en fonction des extensions de fichier.
Téléchargement : Windows, Linux.
#include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "wx/image.h" class wxXpmApp: public wxApp { public: virtual bool OnInit(); }; DECLARE_APP(wxXpmApp) IMPLEMENT_APP(wxXpmApp) bool wxXpmApp::OnInit() { wxApp::OnInit(); wxInitAllImageHandlers(); wxImage From; if (From.LoadFile(wxGetTextFromUser(wxT("Fichier d'entrée"), wxT("Ouvrir..."), wxT("input.bmp")))) From.Scale(32,32).SaveFile(wxGetTextFromUser(wxT("Nom du fichier de sortie :"), wxT("Enregistrer sous..."), wxT("output.xpm"))); return false; }
Le logiciel est minimal et évoluera tout seul en fonction de wxWidgets. Il ne laisse aucune trace sur l'ordinateur. C'est à dire que vous pouvez l'exécuter et le supprimer comme si de rien n'était. Je suis très attaché à ce principe .