📜  c#image 到字节 - C# (1)

📅  最后修改于: 2023-12-03 14:39:48.315000             🧑  作者: Mango

C# 图片到字节

在 C# 中,将图片转换为字节数组通常是一个必须完成的任务。这可以通过使用 System.Drawing 命名空间和 Bitmap 类来完成。本文将介绍如何将图片转换为字节数组。

使用代码

下面是将图片转换为字节数组的示例代码:

using System.Drawing;
using System.IO;

public byte[] ImageToByteArray(Bitmap image)
{
    MemoryStream ms = new MemoryStream();
    image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    return ms.ToArray();
}

在这个例子中,我们使用了 MemoryStream 来将 Bitmap 对象保存为字节数组,使用 System.Drawing.Imaging.ImageFormat.Jpeg 来定义图片的格式。

如何使用

要使用上面的代码,只需要将 Bitmap 对象作为参数传递给 ImageToByteArray 函数,该函数将返回一个 byte[] 数组,该数组表示位图的字节。

下面是一个例子:

Bitmap image = new Bitmap("example.jpg");
byte[] bytes = ImageToByteArray(image);

现在,bytes 数组包含了图像的字节内容,可以将它们传给其他函数或保存到文件或数据库中。

注意事项

要正确地将图像转换为字节数组,需要确保原始图片具有正确的格式。本示例中,我们将图像保存为 JPEG 格式。如果您需要在其他格式(如 PNG、BMP 等)下工作,请相应地更改 ImageFormat 参数。

还应该注意的是,当使用这种方法来将图像转换为字节数组时,结果数组的大小将等于位图大小(以字节为单位)。因此,处理大型图像时要小心,以避免内存不足或性能问题。

结论

在 C# 中,将图像转换为字节数组是一个很普遍的任务。通过使用 Bitmap 和 MemoryStream 类,我们可以轻松地完成这个任务。在实践中,需要注意图片格式以及内存消耗。