Tom's Guide > Forum > Programmation > afficher et traiter une image sous visual c++ 6.0!!!!!!

afficher et traiter une image sous visual c++ 6.0!!!!!!

Forum Programmation : afficher et traiter une image sous visual c++ 6.0!!!!!!

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 


bonsoir,
j'ai un petit programme d'affichage d'une image BMP et j'ai trouver une classe (Cimage) qui reéalise sa avec bq d'autre fonctions que je vais les utiliser plutard mais pr le moment je ne sais pas comment je doit faire pr lire l'image en utilisant cette classe et j'ai pas trouver des documents qui explique comment on peut utiliser une classe externe...ect; SVP aider moi a resoudre sa (je suis une débutante en visual c++ 6.0)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

En MFC, tu n'utilises pas les CBitmap avec une image .bmp dans les ressources ?

Message cité 1 fois
Message édité par CRicky le 30-12-2007 à 09:56:09
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

CRicky a écrit :

En MFC, tu n'utilises pas les CBitmap avec une image .bmp dans les ressources ?




mais j'ai besoin d'autre fonctions qui sont pas ds les ressources mais dans cette classe (Cimage)

Répondre à samooo

Alors, tu crées ton CImage, tu fais un Load() avec le chemin complet du fichier.
Avec un GetDC(), tu récupères le contexte graphique (DC), et là tu peux en faire une copie sur le DC de ta fenêtre ou de ton widget dans le OnPaint().

Est-ce que tu sais manipuler les DC dans les évènements OnPaint() ?

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

CRicky a écrit :

Alors, tu crées ton CImage, tu fais un Load() avec le chemin complet du fichier.
Avec un GetDC(), tu récupères le contexte graphique (DC), et là tu peux en faire une copie sur le DC de ta fenêtre ou de ton widget dans le OnPaint().

Est-ce que tu sais manipuler les DC dans les évènements OnPaint() ?



je ne sais pas comment faire ca!!! , SVP aide moi a le faire,

Répondre à samooo

J'imagine que tu as un objets graphique pour afficher ça?

Bon ça fait un moment que j'ai plus touché au MFC, mais si mes souvenirs sont bons, dans tous les widgets graphiques, il y a la méthode OnPaint() qui dessine le widget.
Si tu cherches des tutoriaux avec OnPaint() (c'est plus facile de faire à partir d'exemples ;) ), tu verrais que l'on redéfinit cette méthode pour la classe que l'on fait. On y appelle le OnPaint du parent (pour l'affichage par défaut du widget), puis on y dessine ce qu'on veut.
Tous les dessins se font dans des contextes graphiques (l'image du widget si tu veux). Donc, dans les tutoriaux, tu verras qu'on prend un Device Context (DC=contexte graphique) avec GetDC() pour récupérer le contexte graphique du widget. En modifiant ce contexte, on modifie l'affichage du widget.
Tu peux manipuler d'autres DC qui ne représentent pas l'image mais autre chose (comme par exemple ton image). Ensuite, tu peux copier le contenu d'un DC (par ex celui de l'image) dans un autre DC (par exemple celui du widget) avec la méthode BitBlt(). Au final, tu copies l'image sur ton widget.
Le mieux c'est de partir d'un exemple de tutorial, surtout que la MFC n'est pas toujours évidente à manipuler.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky


Merci bq pour ton explication, je vais essayer de faire sa, et merci encore une fois de me repondre :)


Message édité par samooo le 31-12-2007 à 20:29:49
Répondre à samooo
Tom's Guide > Forum > Programmation > afficher et traiter une image sous visual c++ 6.0!!!!!!
Aller à :

Il y a 1903 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens