GdipEmfToWmfBits()



Syntaxe
Resultat.i = GdipEmfToWmfBits(hemf.l, cbData16.i, *pData16.byte, iMapMode.l, eFlags.i)
Paramètres
hemf.l

[in] Handle du métafichier EMF à convertir.

cbData16.i

[in] Nombre entier non signé qui spécifie le nombre d'octets du buffer pointé par le paramètre *pData16.

*pData16

[out] Pointeur sur le buffer d'octets qui recevra les enregistrements convertis. Si *pData16 est #Null (pointeur non défini) la fonction retourne le nombre d'octets requis pour stocker les enregistrements convertis du métafichier.

iMapMode.l

[in] Spécifie le mode de configuration utilisé pour le métafichier converti. Pour une liste de modes de configuration possibles, voir l'API SetMapMode (valeurs ici).

eFlags.i

[in] Elément de l'énumération EmfToWmfBitsFlags qui spécifie les options de la conversion.

Description

Cette fonction est classé par Micosoft dans les fonctions CachedBitmap masi je l'ai classée dans les métafiles.

Cette fonction permet de convertir un métafichier EMF (enhanced-format metafile) en un métafichier au format WMF (Microsoft® Windows® Metafile Format) et de stocker les enregistrements convertis dans le buffer spécifié.
Si la fonction réussit et que le pointeur sur le buffer est #Null (paramètre *pData16), la valeur de retour est le nombre d'octets requis pour stocker les enregistrements convertis. Si la fonction réussit et que le pointeur sur le buffer est un pointeur valide, la valeur de retour est la taille en octets des données du métafichier. Si la fonction échoue, la valeur de retour est zéro.

Quand vous utilisez GdipEmfToWmfBits() pour déterminer la taille requise du buffer, vous devez passer la même valeur pour eFlags que celle que vous passerez après lors de l'appel à GdipEmfToWmfBits() pour réaliser la conversion. Dans le cas contraire, la taille retournée par le premier appel à GdipEmfToWmfBits() sera incorrecte.

Cette fonction ne peut pas convertir des métafichiers de type EmfTypeEmfPlusOnly.

Si vous utilisez cette fonction pour convertir un métafichier de type EmfTypeEmfPlusDual, les enregistrements EMF sont convertis, mais les enregistrements EMF+ ne le sont pas.

Cette fonction convertit un métafichier WMF de sorte que son image puisse être affichée dans une application qui reconnait cet ancien format. La fonction GdipEmfToWmfBits() n'invalide pas le Handle du métafichier. Utilisez l'API DeleteEnhMetaFile() pour libérer le handle lorsque qu'il n'est plus nécessaire. Pour créer un métafichier WMF redimensionnable (WMF placeable, mettez la valeur #MM_ANISOTROPIC pour le paramètre iMapMode.

L'exemple converti un fichier EMF en fichier WMF redimensionnable, l'enregistre sur le disque et puis l'affiche.

Résultat de la fonction
Si la fonction réussit et que le paramètre *pData16 vaut #Null, la valeur de retour est le nombre d'octets requis pour stocker les enregistrements convertis.
Si la fonction réussit et que le pointeur sur le buffer est un pointeur valide (paramètre *pData16), la valeur de retour est la taille en octets des données du métafichier.
Si la fonction échoue, la valeur de retour est zéro.
PB - OS
PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium