我正在GetBitmapBits()
通过一个HBITMAP
并存储在一个普通char*
缓冲器中的像素和发送通过网络该缓冲器。通过网络传输GetBitmapBits(),安全吗?
客户端然后“重建”在其窗口中使用SetBitmapBits()
该位图。
我的问题很简单:是否有任何可能或可能发生的情况时,重建也许是不可能的?也许这些像素数据的内部字节存储格式?
客户端和服务器不保证使用相同版本的Windows。服务器可能使用XP,而客户端可能使用Vista或Windows 7。
我正在GetBitmapBits()
通过一个HBITMAP
并存储在一个普通char*
缓冲器中的像素和发送通过网络该缓冲器。通过网络传输GetBitmapBits(),安全吗?
客户端然后“重建”在其窗口中使用SetBitmapBits()
该位图。
我的问题很简单:是否有任何可能或可能发生的情况时,重建也许是不可能的?也许这些像素数据的内部字节存储格式?
客户端和服务器不保证使用相同版本的Windows。服务器可能使用XP,而客户端可能使用Vista或Windows 7。
的文档上GetBitmapBits本身提到你应该使用的GetDIBits/SetDIBits来代替。
除了克里斯的建议,你应该使用GetDIBits
,我可以补充一点:
char
S,也不能因您的源和目标系统之间可能存在的不同字节从所产生的任何问题。
GetBitmapBits明确地说,该格式是设备特定的。因此它将取决于在该设备中选择的当前视频模式以及正在使用的实际设备驱动程序。 – 2011-04-05 12:30:35
@ChrisBecke:这就是为什么建议使用'GetDIBits'来代替;正如名字所暗示的那样,这个设备是独立的。 – Jon 2011-04-05 13:11:21