我想使用 TcpClient 和 NetworkStream 通过网络发送我的图像。
图像类型是 (System.Windows.Controls.Image)
现在我如何将图像转换为字节?
谢谢。
我想使用 TcpClient 和 NetworkStream 通过网络发送我的图像。
图像类型是 (System.Windows.Controls.Image)
现在我如何将图像转换为字节?
谢谢。
您必须序列化您的图像才能通过网络发送。
Image im = Image.FromFile(@"C:\hello.jpg");
MemoryStream ms = new MemoryStream();
im.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] Barray = ms.ToArray();
string str = string.Empty;
foreach (byte b in oImage)
{
str += b.ToString();
}
希望下面的代码对您有所帮助。如果您允许用户上传图片。
FileStream fs;
fs = new FileStream(OpenImage.FileName, FileMode.Open, FileAccess.Read);
byte[] picByte;
picByte = new byte[Convert.ToInt32(fs.Length)];
fs.Read(picByte, 0, Convert.ToInt32(fs.Length));
fs.Close();
这里的 OpenImage 是一个 OpenFileDialog 控件。
我建议将图像转换为 PNG 格式,因为 JPEG 我遇到了很多问题。试试下面的代码
byte[] b1=null;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
ImageIO.write(img, "png", baos);
b1=baos.toByteArray();