我想通过网络使用TcpClient和NetworkStream发送我的图像。
图像类型是(System.Windows.Controls.Image)
现在我如何将我的图像转换为字节?
感谢。
答案 0 :(得分:1)
您必须序列化您的图片才能通过网络发送。
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();
}
答案 1 :(得分:0)
希望以下代码帮助您。如果您允许用户上传图片。
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控件。
答案 2 :(得分:0)
我建议将图片转换为PNG格式,因为我因为JPEG而遇到很多问题。请尝试以下代码
byte[] b1=null;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
ImageIO.write(img, "png", baos);
b1=baos.toByteArray();