HBITMAP/BITMAP到BITMAPINFOHEADER - >通过网络 - > BITMAPINFOHEADER到HBITMAP/BITMAP

use*_*454 2 c++ winapi structure bitmap

我认为标题非常具有说明性,但这里有更详细的内容,我正在尝试做什么.基本上说我在内存中加载BITMAP.

我想从中提取BITMAPINFOHEADER并将其添加到我的数据包结构中,该结构将通过套接字传输.*

转移它不是问题,但一旦它到达我想把它变回BITMAP,以便我可以使用它.

我一直在努力解决这个问题,而且我一直在搜索高低,没有任何运气.我需要完成此示例和函数列表会很有帮助.

非常感谢.我需要在win32 c ++中使用它.[没有.NET或MFC]赞赏.

Rom*_* R. 7

发件人:

  1. 你有 HBITMAP
  2. 使用,获取其属性,如宽度和高度 GetObject
  3. 使用CreateDIBSection创建另一个HBITMAP相同的解析度24位/ 32位的RGB用的VOID*指针,其指向原始字节; 您将BITMAPINFOHEDER在代码中初始化- 您应该已经拥有该点所需的所有数据
  4. BitBlt 从原始位图到这一个
  5. BITMAPINFOHEDER辅助位图数据指针的+字节发送到网络(sizeof BITMAPINFOHEDER+ BITMAPINFOHEDER::biSizeImage字节)

接收器:

  1. 使用CreateDIBSection用于创建位图BITMAPINFOHEDER接受; 你又得到了一个指向原始数据的指针
  2. memcpy 图像数据进入给定指针下的存储器位置或者只是逐步接收数据
  3. HBITMAP又来了