我想用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();
可能重复[WPF图像,以字节为\ [\](http://stackoverflow.com/questions/553611/wpf-image-to-byte) – Clemens
请看看上面提到的问题的答案。这里的答案要么不是关于WPF,要么完全是主题。 – Clemens