勇芳软件工作室.汉化:  GDI+ Flat API > CachedBitmap Functions >

GdipEmfToWmfBits

Previous pageReturn to chapter overviewNext page

描述

 

将增强格式的元文件转换为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参数。