如何在c++中通过wxSocket发送wxImage

How can I send an wxImage through wxSocket in c++?

本文关键字:wxSocket 发送 wxImage c++      更新时间:2023-10-16

如何在c++中通过TCP wxSocket发送wxImage
我应该将wxImage转换为wxString还是可以直接发送?在这种情况下,如何将wxImage转换为wxString?

您可以通过其GetData()成员直接访问图像数据,所以您可以直接发送它,至少如果您有一个没有alpha的图像。然而,在实践中,首先压缩它可能是一个好主意,因为未压缩的图像是巨大的。您可以使用zlib压缩,或者更简单地,将PNG或JPEG格式的图像写入内存缓冲区,然后发送该缓冲区。

将图像转换为字符串也是可能的,但非常不理想。

Hai wxImage::GetData()返回无符号的char*,这样您就可以轻松地将图像作为字符串发送。不要忘记发送图像宽度&高度,这两个属性必须再次将数据转换为图像。