CreateEnhMetaFileW, fonction (wingdi.h)
La fonction CreateEnhMetaFile crée un contexte d’appareil pour un métafichier au format amélioré. Ce contexte d’appareil peut être utilisé pour stocker une image indépendante de l’appareil.
Syntaxe
HDC CreateEnhMetaFileW(
[in] HDC hdc,
[in] LPCWSTR lpFilename,
[in] const RECT *lprc,
[in] LPCWSTR lpDesc
);
Paramètres
[in] hdc
Handle vers un appareil de référence pour le métafichier amélioré. Ce paramètre peut être NULL ; Pour plus d’informations, consultez Remarques.
[in] lpFilename
Pointeur vers le nom de fichier pour le métafichier amélioré à créer. Si ce paramètre a la valeur NULL, le métafichier amélioré est basé sur la mémoire et son contenu est perdu lorsqu’il est supprimé à l’aide de la fonction DeleteEnhMetaFile .
[in] lprc
Pointeur vers une structure RECT qui spécifie les dimensions (en 0,01 millimètre) de l’image à stocker dans le métafichier amélioré.
[in] lpDesc
Pointeur vers une chaîne qui spécifie le nom de l’application qui a créé l’image, ainsi que le titre de l’image. Ce paramètre peut être NULL ; Pour plus d’informations, consultez Remarques.
Valeur retournée
Si la fonction réussit, la valeur de retour est un handle pour le contexte de l’appareil pour le métafichier amélioré.
Si la fonction échoue, la valeur de retour est NULL.
Remarques
Lorsque les arguments de texte doivent utiliser des caractères Unicode, utilisez la fonction CreateEnhMetaFile comme fonction à caractères larges. Lorsque les arguments de texte doivent utiliser des caractères du jeu de caractères Windows, utilisez cette fonction comme fonction ANSI.
Le système utilise l’appareil de référence identifié par le paramètre hdcRef pour enregistrer la résolution et les unités de l’appareil sur lequel une image est apparue à l’origine. Si le paramètre hdcRef a la valeur NULL, il utilise le périphérique d’affichage actuel pour référence.
Les membres gauche et supérieur de la structure RECT pointées par le paramètre lpRect doivent être inférieurs aux membres de droite et inférieurs , respectivement. Des points le long des bords du rectangle sont inclus dans l’image. Si lpRect a la valeur NULL, l’interface de périphérique graphique (GDI) calcule les dimensions du plus petit rectangle qui entoure l’image dessinée par l’application. Le paramètre lpRect doit être fourni lorsque cela est possible.
La chaîne vers laquelle pointe le paramètre lpDescription doit contenir un caractère null entre le nom de l’application et le nom de l’image et doit se terminer par deux caractères null, par exemple, « XYZ Graphics Rédacteur\0Bald Eagle\0\0 », où \0 représente le caractère Null. Si lpDescription a la valeur NULL, il n’existe aucune entrée correspondante dans l’en-tête enhanced-metafile.
Les applications utilisent le contexte d’appareil créé par cette fonction pour stocker une image graphique dans un métafichier amélioré. Le handle identifiant ce contexte d’appareil peut être transmis à n’importe quelle fonction GDI.
Une fois qu’une application a stocke une image dans un métafichier amélioré, elle peut afficher l’image sur n’importe quel appareil de sortie en appelant la fonction PlayEnhMetaFile . Lors de l’affichage de l’image, le système utilise le rectangle vers lequel pointe le paramètre lpRect et les données de résolution de l’appareil de référence pour positionner et mettre à l’échelle l’image.
Le contexte d’appareil retourné par cette fonction contient les mêmes attributs par défaut associés à tout nouveau contexte d’appareil.
Les applications doivent utiliser la fonction GetWinMetaFileBits pour convertir un métafichier amélioré en format de métafichier Windows plus ancien.
Le nom de fichier du métafichier amélioré doit utiliser l’extension .emf.
Exemples
Pour obtenir un exemple, consultez Création d’un métafichier amélioré.
Notes
L’en-tête wingdi.h définit CreateEnhMetaFile en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wingdi.h (inclure Windows.h) |
Bibliothèque | Gdi32.lib |
DLL | Gdi32.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour