SetWinMetaFileBits函数将图元文件从较旧的Windows格式转换为新的增强格式,并将新的图元文件存储在内存中。
HENHMETAFILE SetWinMetaFileBits(
UINT 【cbBuffer】, | //缓冲区大小 |
CONST BYTE *【lpbBuffer】, | //缓冲图元文件数据的地址 |
HDC 【hdcRef】, | //参考设备上下文的句柄 |
CONST METAFILEPICT *【lpmfp】 | //提供图元文件大小图片 |
); |
参数
【cbBuffer】
指定包含Windows格式元文件的缓冲区的大小(以字节为单位)。
【lpbBuffer】
指向包含Windows格式元文件数据的缓冲区。(假设使用GetMetaFileBitsEx或GetWinMetaFileBits函数获取数据。)
【hdcRef】
标识参考设备上下文。
【lpmfp】
指向METAFILEPICT结构,其中包含图像文件图片的建议大小和创建图片时使用的映射模式。
返回值
如果函数成功,则返回值是基于内存的增强图元文件的句柄。
如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.
备注
Windows使用参考设备上下文的分辨率数据和METAFILEPICT结构中的数据缩放图片。如果【hdcRef】参数为NULL,Windows将使用当前输出设备的分辨率数据。如果【lpmfp】参数为NULL,Windows将使用MM_ANISOTROPIC映射模式缩放图片,使其适合整个设备表面。不使用METAFILEPICT结构中的【hMF】字段。
当应用程序不再需要增强的图元文件句柄时,它应该通过调用DeleteEnhMetaFile函数来删除它。
该函数返回的句柄可以与其他增强型图元文件功能一起使用。
如果参考设备上下文与最初创建图元文件的设备不相同,则使用设备单元的某些GDI功能可能无法正确绘制图片。
也可以看看
DeleteEnhMetaFile, GetWinMetaFileBits, GetMetaFileBitsEx, METAFILEPICT, PlayEnhMetaFile