【发布时间】:2014-08-10 05:44:27
【问题描述】:
我需要 C++ 中的代码,它从一侧获取 HBITMAP 并通过套接字发送它,而在另一侧接收并再次生成 HBITMAP。
必须快速有效
如果更舒服,使用 GDI+ 位图
【问题讨论】:
-
您有将 HBITMAP 保存到文件的代码吗?如果是这样,则使用该代码并将字节流式传输到套接字而不是文件。
-
好吧,先这样做,即获取将 HBITMAP 保存到文件的代码。然后调整
fwrite或任何用于执行send调用的输出函数。您还需要知道如何读取文件和创建适当结构的代码。所有这些都有很好的记录,因为这是 Windows 环境中的基本位图处理。 -
但是在那之后我如何再次进入 HBITMAP?
-
请查看我对上述评论的编辑。基本上你所要求的与保存和读取位图文件没有什么不同。
-
您应该序列化为流。使用可以减小尺寸的图像格式。例如 PNG 可能是合适的。然后传输该流。在另一端反序列化为图像。选择一个图像库来执行此操作。
CImg将是一个显而易见的选择。 GDI+、WIC 也可以。有很多这样的图书馆。您可能会发现您已经有一个可用的。