Créer et enregister une image avec wxwidgets

Créer et enregister une image avec wxwidgets - C++ - Programmation

Marsh Posté le 06-12-2005 à 21:26:16    


Bonsoir à tous,
 
pour un projet d'imagerie numérique, je suis amené à utiliser la bibliothèque wxwidgets.
 
Je dois entre autre dessiner des figures géométriques simples dans un bitmap puis l'enregistrer.
 
Voici le code que j'ai écrit pour ce faire :
 

Code :
  1. wxBitmap *img2 = new wxBitmap("C:/test.bmp",wxBITMAP_TYPE_BMP);
  2. wxDC *dessineur = new wxDC();
  3. dessineur->DrawCircle(5,5,5);
  4. dessineur->DrawBitmap(*img2,20,20,true);
  5. img2->SaveFile("C:/test.bmp",wxBITMAP_TYPE_BMP);


 
Comme vous pouvez le constater, le bitmap est déjà sur le disque dur (bitmap vide fait à partir de clic droit, nouveau, bmp).
Le problème est que quand j'execute ce bazare, aucune erreur mais le fichier test.bmp n'est pas modifié du tout...
 
Avez vous une idée ? Je m'y prend mal ?
 
Merci bien !
Gonk

Reply

Marsh Posté le 06-12-2005 à 21:26:16   

Reply

Marsh Posté le 07-12-2005 à 08:17:14    

En relisant, j'ai trouvé ca crétin et j'ai inversé les lignes 3 et 4 mais pas mieux...
 

Code :
  1. wxBitmap *img2 = new wxBitmap("C:/test.bmp",wxBITMAP_TYPE_BMP);
  2. wxDC *dessineur = new wxDC();
  3. dessineur->DrawBitmap(*img2,20,20,true);
  4. dessineur->DrawCircle(5,5,5);
  5. mg2->SaveFile("C:/test.bmp",wxBITMAP_TYPE_BMP);


 
Une idée ?
 
Merci !  :)

Reply

Marsh Posté le 07-12-2005 à 13:50:23    

gen_gonk a écrit :

En relisant, j'ai trouvé ca crétin et j'ai inversé les lignes 3 et 4 mais pas mieux...
 

Code :
  1. wxBitmap *img2 = new wxBitmap("C:/test.bmp",wxBITMAP_TYPE_BMP);
  2. wxDC *dessineur = new wxDC();
  3. dessineur->DrawBitmap(*img2,20,20,true);
  4. dessineur->DrawCircle(5,5,5);
  5. mg2->SaveFile("C:/test.bmp",wxBITMAP_TYPE_BMP);


 
Une idée ?
 
Merci !  :)


 
faut pas utiliser un wxDC mais un wxMemoryDC pour dessiner sur ta bitmap.
les methodes seront les memes mais tu travailleras directement sur l'image. avec wxDC::blit tu pourras l'afficher en meme dans une fenetre
 
http://wxwidgets.org/manuals/2.6.2 [...] morydcctor

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed