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

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

c# 字节到图像 - C#

在C#中,我们可以使用System.Drawing命名空间中的Bitmap类将字节显示为图像。这对于将字节数据显示为图像非常有用,例如,从数据库中检索Blob数据作为图像显示。

步骤 1 - 读取字节数组

首先,我们需要读取字节数组。假设我们有一个字节数组,可以按以下方式读取:

byte[] imageBytes = File.ReadAllBytes(@"C:\path\to\image.png");

这将读取存储在指定路径中的图像,并将其存储为字节数组变量imageBytes。

步骤 2 - 将字节数组转换为图像

要将字节数组转换为图像,我们需要使用Bitmap类。我们可以使用以下代码将字节数组转换为图像:

using System.Drawing;
using System.IO;

// 从字节数组创建图像
public static Image byteArrayToImage(byte[] byteArrayIn)
{
    MemoryStream ms = new MemoryStream(byteArrayIn);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
}

上面的代码将字节数组作为参数传递,并使用MemoryStream将其转换为图像对象。最后返回该图像对象。

步骤 3 - 显示图像

一旦我们将字节数组转换为图像,我们可以使用PictureBox控件在Windows窗体上显示该图像。以下是示例代码:

using System.Windows.Forms;

// 创建新的 PictureBox 控件来显示图像
PictureBox pictureBox = new PictureBox();
// 设置 PictureBox 控件的大小和位置
pictureBox.Location = new Point(xPos, yPos);
pictureBox.Size = new Size(imageWidth, imageHeight);
pictureBox.SizeMode = PictureBoxSizeMode.StretchImage; // 可调整图像大小以适应控件的大小
// 将值传递给 pictureBox 控件
pictureBox.Image = byteArrayToImage(imageBytes);
// 将 PictureBox 添加至窗体中显示
this.Controls.Add(pictureBox);

上面的代码将图像显示在新创建的PictureBox控件中,并将其添加到窗体中以便查看。

这就是在C#中将字节数组显示为图像的全部过程。无论您是从数据库中检索数据还是从其他地方获取数据,该方法都很有用。

参考文献