0

我有一个 .emf 文件,我想将其转换为旧版 VC++ 6.0 代码中的位图。

我一直在查看 WIC 文档,但我很惊讶我还没有看到这样做的方法。

我错过了什么吗?

如果 WIC 最终不支持这一点,是否有一种方法以编程方式将 .emf 文件加载到 CBitmap 对象中?

4

1 回答 1

1

不需要WIC。它以PlayEnhMetafile的形式内置于 Windows 本身的核心中。

因此,要将图片转换为 BMP,您将 BMP 选择为 DC,然后在该 DC 上执行 PlayEnhMetafile,结果将进入 BMP。

请注意,这并不是真正将元文件转换为 BMP,而是将元文件渲染为 BMP。也就是说,元文件(通常)是独立于分辨率的。例如,它可以指定从逻辑坐标 (0,0) 到 (100, 100) 的直线。当您将其渲染为 BMP 时,您会以特定分辨率将线条栅格化。如果您以后想要更高分辨率的相同图片,元文件可以提供它,但 BMP 中的渲染不能/不能。

于 2014-09-10T15:10:17.707 回答