public byte[] ImgToByt(Image img) //图片转换成字节流
{
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
}
private void button1_Click(object sender, EventArgs e)
{
byte[] byteImg = new Byte[1024];
byteImg = ImgToByt(pictureBox1.Image); //图片转换成字节流
foreach (TcpClient s in clientSockets) //遍历所有的客户端套接字
{
NetworkStream nsClient = s.GetStream(); //获取客户端数据流
nsClient.Write(byteImg, 0, byteImg.Length); //向所有的客户端发送聊天内容
nsClient.Flush();
}
}
以上是服务器向客户端发送图片的程序
下面是客户端接收图片的程序,但是Image img = Image.FromStream(ms);这句老是显示参数无效,哪位大神知道怎么改,在这先谢谢了
clientStream.Read(receiveByte, 0, receiveByte.Length);
pictureBox1.Image = BytToImg(receiveByte);
public Image BytToImg(Byte[] byt) //字节流转换成图片
{
try
{
MemoryStream ms = new MemoryStream(byt);
Image img = Image.FromStream(ms);
return img;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
return null;
}
}