位图大小为3145728 ,发送端和接受端都在本机.
BYTE数组是通过S端(TCP)发送过来的,发送前位图显示正常(用SetBitmapBits显示正常).但是C端接受完成后,同样用SetBitmapBits显示位图,图像偏红.图像大小正常.是什么原因? 下面是效果图

解决方案 »

  1.   

    SetBitmapBits是设备相关位图,DIB是才是设备无关位图。所谓设备相关,就是说同样的数据在不同的设备上显示出来不一定一样。
      

  2.   

    我发现是RGB值弄反了,红色和蓝色弄反了.蓝色和绿色反了.难道是发包的时候出问题了?
      

  3.   

    用SetDIBits可能要好一点,SetBitmapBits是设备相关的,可能会有差异
      

  4.   

    各位老大,一定要用API函数来解决吗?我就想不明白了,都是在本机,一样的显示设备.不应该是设备的差异.
    用GetBitmapBits获取的数组,没发送前,用SetBitmapBits可以完好的显示.发送到C端后,rgb的顺序排列就乱了.GetBitmapBits获取应该是bgr吧?怎么到达C端好象就成了rgb的排列?