在服务器端用GDI+画图,图片背景为透明色,保存在一个stream中(保存时已经设置为png格式了),再将这个stream转成byte数组,用Udp传给客户端。问题是:客户端接收到以后,图片的背景由透明色变成了黑色。请问这是怎么回事, 如何解决??

解决方案 »

  1.   

    试验下在客户端先把流保存成图片文件,然后再用bitmap打开再显示
      

  2.   

    RGBA  你的图形  R=0 G =0 B=0 A=0 的图形 就是黑色..没错..  只是你客户端显示的时候没进行透明
      

  3.   

    To 2L的Sucent:额~画好的图片,在服务器端保存成文件,背景还是透明的,但是在客户端保存成文件,背景就是黑色的了。
    To 3L的zgke:客户端接收到的是一个byte数组,我先把数组转成流,然后再用bitmap(stream)构造位图,所以这里得到的是一个bitmap的实例,“显示的时候没进行透明”,这个是什么意思啊??=======================================
    还有,传输时,由于图片太大,我是把图片分成100*100像素的小块,分块传的,(用的UdpClient),这个有关系么?总结下:在服务器端保存图片时,背景还是透明的,说明绘图正确。在客户端保存时就黑色了,只能说明接收或者传输时哪里有问题,可以这样认为吗??
      

  4.   

    我又看了下代码
    找到问题了——NND,之前做服务器测试时,把保存格式Png改成Bmp了!真杯具~奇怪,Bmp居然也能保存为透明的??