描述
将增强格式的元文件转换为Microsoft?Windows?图元文件格式(WMF)元文件,并将转换的记录存储在指定的缓冲区中。
C++ 语法
UINT WINGDIPAPI GdipEmfToWmfBits( HENHMETAFILE hemf, UINT cbData16, LPBYTE pData16, INT iMapMode, INT eFlags ); |
PowerBASIC 语法
FUNCTION GdipEmfToWmfBits ( _ BYVAL hemf AS DWORD, _ BYVAL cbData16 AS DWORD, _ BYREF pData16 AS ANY, _ BYVAL iMapMode AS LONG, _ BYVAL eFlags AS LONG _ ) AS DWORD |
参数
hemf
[in]处理要转换的增强格式的图元文件。
cbData16
[in]无符号整数,指定pData16参数指向的缓冲区中的字节数。
pData16
[out]指向接收转换记录的缓冲区的指针。如果pData16为NULL,则EmfToWmfBits返回存储转换的图元文件记录所需的字节数。
iMapMode
[in]指定要在转换的图元文件中使用的映射模式。有关可能的映射模式的列表,请参阅SetMapMode.默认值为MM_ANISOTROPIC。
eFlags
[in]EmfToWmfBitsFlags枚举的元素,用于指定转换的选项。默认值为EmfToWmfBitsFlagsDefault.
返回值
如果函数成功并且缓冲区指针为NULL,则返回值是存储转换记录所需的字节数。如果函数成功并且缓冲区指针是一个有效的指针,则返回值是元文件数据的大小(以字节为单位)。如果函数失败,返回值为零。
备注
当您致电GdipEmfToWmfBits以确定所需缓冲区的大小时,您必须传递与您以后通过GdipEmfToWmfBits进行转换的EFLAGS相同的值。否则,首次调用GdipEmfToWmfBits返回的大小将不正确。
此函数无法转换类型为EmfTypeEmfPlusOnly的元文件。如果您使用此函数转换类型为EmfTypeEmfPlusDual的元文件,则转换该图元文件中的增强型图元文件(EMF)记录,但不会转换EMF +记录。
此函数将增强的图元文件转换为WMF图元文件,以便其图片可以在识别旧格式的应用程序中显示。
GdipEmfToWmfBits功能不会使增强的图元文件句柄无效。调用DeleteEnhMetaFile功能以在不再需要时释放句柄。
要创建可扩展的WMF元文件,请指定MM_ANISOTROPIC作为iMapMode参数。


