0

我在 Windows Mobile 应用程序中有一个 BITMAP 结构 (HBITMAP) 的句柄——我想将位图保存为 PNG 文件,如果可能的话,使用IImage接口。(在这种情况下没有 BMP 文件,BITMAP 仅在内存中)。

看起来我可以使用 IImagingFactory 的IImagingFactory::CreateImageEncoderToFile方法来保存文件,但我认为我首先必须将 BITMAP 转换为“IImage”格式。

关于如何使用本机代码执行此操作的任何想法?

4

1 回答 1

1

使用CreateImageFromStream读取您的 BITMAP 数据,从而为您提供 IImage。

编辑:

我对此做了更多的研究。有几种路径,但我认为最简单的是:

  1. 创建一个DIBSECTION并将您的位图粘贴到它。
  2. 为图像数据创建一个指向 DIBSECTION的BitmapData实例。
  3. 调用CreateBitmapFromBuffer生成一个IBitmapImage接口
  4. 通过您的编码器推送 IBitmapImage(它是一个 IImage)。
于 2009-05-19T03:39:02.770 回答