Afficher une image png

Résolu
ththththth Messages postés 10 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 2 mars 2007 - 27 févr. 2007 à 11:09
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009 - 27 janv. 2009 à 11:51
Bonjour à tous.

Voila je développe une appli qui permet de créer des images png et d'effectuer quelques effets dessus.

Pour l'IHM je me sers des mfc (basée BD). C'est d'ailleurs mon premier projet vsc++ et je m'y perds assez souvent...

J'aimerais faire une zone de visu de l'image.

Les classes GDI+  Bitmap, Graphics ... m'intéressent mais je n'arrive pas à les insérer dans mon projet.

Au début de ma classe je met :

using namespace System;
using namespace System::Drawing;

erreur :
Font_designerDlg.cpp(11) : error C2871: 'System' : a namespace with this name does not exist

Font_designerDlg.cpp(12) : error C2653: 'System' : is not a class or namespace name

Font_designerDlg.cpp(12) : error C2871: 'Drawing' : a namespace with this name does not exist

Pourtant d'apès msdn  :
Configuration requise
Espace de noms : System.Drawing

Plates-formes : Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Édition familiale, Windows XP Professionnel, Famille Windows Server 2003, .NET Compact Framework

Assembly : System.Drawing (dans System.Drawing.dll)

Les exemples que j'ai trouvé qui utilise ces classes sont en code managé, ce qui n'est pas mon cas.

Au final 2 questions :
Est-ce une méthode correcte pour ce que je veux faire (afficher du png)?
Si oui comment faire pour utiliser les classes de GDI+?

Merci d'avance

4 réponses

ththththth Messages postés 10 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 2 mars 2007
2 mars 2007 à 11:04
Bon bah finalement je me sers de la classe CImage :

CImage img;

img.Load("image.png");

m_picture_control.SetBitmap((HBITMAP)img);

m_picture_control.Invalidate();

Et ca marche bien.

Sinon :
les classes GDI sont utilisables avec :

#pragma

comment(
lib, "gdiplus.lib") //la lib n'est pas inclue de base
#include <gdiplus.h>

using namespace Gdiplus;

merci vecchio

effetivement System.Drawing... c'est du c#
merci buno
3