📜  c# 图像到字节数组 - C# (1)

📅  最后修改于: 2023-12-03 15:29:47.065000             🧑  作者: Mango

C# 图像到字节数组

在C#中,将图像转换为字节数组是一种常见的操作,可以在网络传输、文件存储等方面应用广泛。本文将介绍C#中将图像转换为字节数组的几种方法。

方法一:使用File.ReadAllBytes方法
byte[] byteArray = File.ReadAllBytes("image.jpg");

上述代码将文件“image.jpg”读取为一个字节数组。但是,这种方法并不适用于内存中的图像。

方法二:使用ImageConverter类
ImageConverter converter = new ImageConverter();
byteArray = (byte[])converter.ConvertTo(image, typeof(byte[]));

上述代码将内存中的图像转换为字节数组。但是,这种方法可能不是很高效,而且在处理大型图像时可能会出现内存问题。

方法三:使用MemoryStream和BinaryWriter类
using (MemoryStream ms = new MemoryStream())
{
    using (BinaryWriter writer = new BinaryWriter(ms))
    {
        image.Save(ms, ImageFormat.Jpeg);
        byteArray = ms.ToArray();
    }
}

上述代码创建了一个内存流,并使用BinaryWriter写入图像数据。这种方法比较高效,并适用于处理大型图像。

总之,将图像转换为字节数组在C#中是一种常见的操作。以上介绍的三种方法都可以很好地解决此问题。具体使用哪种方法,可以根据实际需求选择。