我认为标题非常具有解释性,但是这里有我要尝试的细节。
基本上说我在内存中加载了一个 BITMAP。
我想从中提取BITMAPINFOHEADER并将其添加到我的数据包结构中,该数据包结构将通过套接字传输。
转移它不是问题,但是一旦到达,我想将其重新转换为BITMAP,以便我可以使用它。
我一直在为此而苦苦挣扎,我一直走高走低,没有任何运气。我需要的一个示例和功能列表将很有帮助。
非常感谢。我在Win32 C++中需要这个。 [没有.NET或MFC]
感激。
最佳答案
发件人:
HBITMAP
GetObject
CreateDIBSection
使用指向原始字节的HBITMAP
指针创建另一个分辨率为24/32位RGB的VOID*
;您将在代码中初始化BITMAPINFOHEDER
-届时您应该已经拥有了所需的所有数据BitBlt
放入此BITMAPINFOHEDER
+字节发送到网络(sizeof BITMAPINFOHEDER
+ BITMAPINFOHEDER::biSizeImage
字节)接收者:
CreateDIBSection
使用收到的BITMAPINFOHEDER
创建位图;您再次获得指向原始数据memcpy
将图像数据放入给定指针下的存储位置,或者只是逐步接收那里的数据HBITMAP