Afficher des EMF [Résolu]

Signaler
Messages postés
40
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
7 juin 2005
-
Messages postés
40
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
7 juin 2005
-
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

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
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.
Messages postés
40
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
7 juin 2005

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
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
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.
Messages postés
40
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
7 juin 2005

Merci pour tes explications.

Mais si les images sont redimentionnées dans le rectangle, sont t-elles déformer?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
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.
Messages postés
40
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
7 juin 2005

Bon, je vais voir ce que je peux faire avec cette histoir de redimension...

Merci pour tes lumières.

ciao