Afficher des EMF

Résolu
dhylde Messages postés 40 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 7 juin 2005 - 10 déc. 2004 à 11:04
dhylde Messages postés 40 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 7 juin 2005 - 10 déc. 2004 à 17:53
Bonjour,

J'ai les donner d'un fichier EMF mappé en mémoire avec son HANDLE et un pointeur sur ces donner
Grace a ca j'arrive à créer un fichier .emf

Mais j'arive pas a l'affichier directement a l'écran.

Si quelqu'un peut m'aider???

Merci!

6 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
10 déc. 2004 à 13:37
Salut,
Pour afficher un emf on utilise la fonction PlayEnhMetaFile() après avoir déterminé la zone d'une fenêtre où il sera affiché:
HDC hdc=GetDC(hWnd);//HDC de notre fenetre
RECT rect;//définir un rectangle pour l'affichage
GetClientRect(hWnd, &rect);
PlayEnhMetaFile(hdc, hemf, &rect);

hWnd = HWND de notre fenêtre
hemf = HENHMETAFILE de notre emf
Dans cet exemple, notre emf prend toute la zone cliente de notre fenêtre. On peut aussi l'afficher dans une partie de cette fenêtre en précisant les coordonnées adéquates dans "rect". On peut l'afficher également dans un STATIC ou tout autre controle. N'oublie pas de libérer le HDC et le HENHMETAFILE quand tu n'en as plus besoin.
3
dhylde Messages postés 40 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 7 juin 2005
10 déc. 2004 à 14:28
Salut racpp,

Je me doutais qu'il faudrais utilisé PlayEnhMetaFile().

Petites questions: les images seront-elles redimentionné à la taille de "rect"?

Les donner de mon fichier EMF sont ""dans un HANDLE"" (si j'puis dire), et non dans un HENHMETAFILE. ca dérange???

Merci
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
10 déc. 2004 à 15:14
Oui, exactement , les images seront redimentionnées dans le rectangle.
HENHMETAFILE est justement le HANDLE du emf chargé en mémoire. Tu peux l'obtenir soit avec GetEnhMetaFile() à partir d'un fichier sur disque, soit avec CloseEnhMetaFile() après écriture du fichier.
0
dhylde Messages postés 40 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 7 juin 2005
10 déc. 2004 à 15:40
Merci pour tes explications.

Mais si les images sont redimentionnées dans le rectangle, sont t-elles déformer?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
10 déc. 2004 à 17:30
Oui, elles sont déformées seulement si le rapport largeur/hauteur n'est pas le même pour l'image originale et le rectangle.
0
dhylde Messages postés 40 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 7 juin 2005
10 déc. 2004 à 17:53
Bon, je vais voir ce que je peux faire avec cette histoir de redimension...

Merci pour tes lumières.

ciao
0
Rejoignez-nous