GetWinMetaFileBits

【勇芳软件工作室】汉化HomePreviousNext

GetWinMetaFileBits函数将增强格式记录从元文件转换为Windows格式记录,并将转换的记录存储在指定的缓冲区中。

UINT GetWinMetaFileBits(

HENHMETAFILE 【HEMF】,//处理增强的图元文件
UINT 【cbBuffer】,// 缓冲区大小
LPBYTE 【lpbBuffer】,//指向缓冲区的指针
INT 【fnMapMode】,//映射模式
HDC 【hdcRef】//参考设备上下文的句柄
); 

参数

【HEMF】

识别增强的图元文件。

【cbBuffer】

指定要复制转换的记录的缓冲区的大小(以字节为单位)。

【lpbBuffer】

指向要复制转换记录的缓冲区。如果【lpbBuffer】为NULL,则GetWinMetaFileBits返回存储转换的图元文件记录所需的字节数。

【fnMapMode】

指定在转换图元文件中使用的映射模式。

【hdcRef】

标识参考设备上下文。

返回值

如果函数成功并且缓冲区指针为NULL,则返回值是存储转换记录所需的字节数;如果函数成功并且缓冲区指针是有效的指针,则返回值是以元字节表示的元文件数据的大小。

如果函数失败,返回值为零。

备注

此函数将增强的图元文件转换为Windows格式的图元文件,以便其图片可以显示在识别旧格式的应用程序中。

Windows使用参考设备上下文来确定转换图元文件的分辨率。

GetWinMetaFileBits功能不会使增强的图元文件句柄无效。应用程序应调用DeleteEnhMetaFile功能,在不再需要时释放句柄。

由于Windows格式的图元文件的限制,一些信息可能在检索的图元文件内容中丢失。例如,增强型图元文件中的PolyBezier函数的原始调用可能会转换为对Windows格式元文件的折线函数的调用,因为Windows格式中没有等效的PolyBezier函数。

Windows 3。【x】应用程序定义存储在Windows格式图元文件中的图片的视口原点和范围。因此,GetWinMetaFileBits创建的Windows格式记录不包含SetViewportOrgExSetViewportExtEx功能。但是,GetWinMetaFileBits确实为SetWindowExtExSetMapMode功能创建Windows格式记录。

要创建可扩展的Windows格式的元文件,请指定MM_ANISOTROPIC作为【fnMapMode】参数。

元文件图片的左上角始终映射到参考设备的原点。

也可以看看

DeleteEnhMetaFile, PolyBezier, 折线, SetMapMode, SetViewportOrgEx, SetViewportExtEx, SetWindowExtEx, SetWinMetaFileBits