2009-05-18 74 views
0

我在Windows Mobile应用程序中获得了BITMAP结构(HBITMAP)的句柄 - 我想使用IImage接口将该位图保存为PNG文件如果可能的话。 (在这种情况下没有BMP文件,BITMAP只在内存中)。在Windows Mobile上使用IImage接口将BITMAP转换为PNG

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

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

回答

1

使用CreateImageFromStream来读取您的BITMAP数据,这给你一个IImage。

编辑:

我做了这一点更多的研究。有一对夫妇的路径,但我认为最简单的是:

  1. 创建一个DIBSECTION并blit你的位图。
  2. 创建指向图像数据的DIBSECTION的BitmapData实例。
  3. 呼叫CreateBitmapFromBuffer产生通过编码器的IBitmapImage接口
  4. 推IBitmapImage(这是一个IIMAGE)。
+0

在这种情况下,“流”是指向IStream接口的指针,该接口为图像提供源数据流 - 您如何从BITMAP数据转到该数据流? – Ken 2009-05-19 11:01:47