有个bitmap的对象,我用以下方法传输到服务器,代码本来是传输string对象用的,我照着改了下,用来传输位图,
不知道.行不行?
  private void SendString(Bitmap dumpBitmap)          //重载
        {                byte[] bytesData = System.Text.Encoding.UTF8.GetBytes(dumpBitmap + "\r\n");
                networkStream.BeginWrite(bytesData, 0, bytesData.Length, new AsyncCallback(SendCallback), networkStream);
                networkStream.Flush();
 
        }在服务器接收方面:
我用了以下函数接收,估计是不行的,所以请求大家帮忙...
 System.Text.Encoding.UTF8.GetString()
这些代码都是传输string对象用的,
我直接就用来传输位图,
不知道要该些什么,,
本人初学,望指教,谢谢...

解决方案 »

  1.   

    http://topic.csdn.net/u/20100401/18/da4130da-7816-4d68-9a94-d51d10896462.html
      

  2.   

    做个标签。。留着看MemoryStream ms = new MemoryStream();
    new BinaryFormatter().Serialize(ms, image1);
    byte[] aBytes = ms.ToArray();
    ms = new MemoryStream(aBytes);
    Image image2 = (Image)new BinaryFormatter().Deserialize(ms);System.IO.MemoryStream ms2 = new MemoryStream();
    image2.Save(ms2, System.Drawing.Imaging.ImageFormat.Jpeg);
    byte[] bBytes = ms.ToArray();
    ms.Close();
      

  3.   

    一般用byte[]来传输:byte[] sendByte(Bitmap bmp)//从bitmap获取Byte[]
    {
        MemoryStream ms = new MemoryStream();
        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
        byte[] buf = ms.ToArray();
        ms.Close();
        ms.Dispose();    return buf;
    }
    Bitmap getBmp(byte[] buf)//从byte[]获取bmp
    {
        MemoryStream ms = new MemoryStream(buf);
        Bitmap temp = new Bitmap(ms);
        Bitmap bmp = new Bitmap(temp);
        ms.Close();
        ms.Dispose();
        return bmp;
    }