C# byte数组与Image相互转换的方法:
将byte数组转换为Image:
- 创建
MemoryStream
对象并传入byte数组,将其转换为流。 - 使用
Image.FromStream()
方法来创建Image对象,并将MemoryStream作为参数传入。
示例代码:
byte[] imageBytes = File.ReadAllBytes("myImage.jpg"); // 读取图片的byte数组
MemoryStream ms = new MemoryStream(imageBytes); // 将byte数组转换为MemoryStream
Image image = Image.FromStream(ms); // 创建Image对象并传入MemoryStream
pictureBox1.Image = image; // 将图片显示在窗口中
将Image转换为byte数组:
- 创建
MemoryStream
对象并传入空白的byte数组,将其转换为流。 - 使用
Image.Save()
方法将Image对象保存到MemoryStream中。 - 使用
MemoryStream.ToArray()
方法将MemoryStream转换为byte数组。
示例代码:
Image image = pictureBox1.Image; // 获取图片对象
MemoryStream ms = new MemoryStream(); // 创建MemoryStream对象
image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); // 将图片保存到Stream中
byte[] imageBytes = ms.ToArray(); // 将MemoryStream转换为byte数组
File.WriteAllBytes("myImage.jpg", imageBytes); // 将byte数组写入文件
注意事项:
- 在将byte数组转换为Image时,需要保证byte数组中存储的是正确的图片信息。
- 在将Image转换为byte数组时,需要指定保存的图片格式(如Jpeg、Png等)。
- 不要忘记释放创建的MemoryStream对象和Image对象,可以使用
using()
语句块来自动释放资源。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# byte数组与Image相互转换的方法 - Python技术站