📅  最后修改于: 2023-12-03 15:13:51.240000             🧑  作者: Mango
在C#中,我们可以使用System.Drawing命名空间中的Bitmap类将字节显示为图像。这对于将字节数据显示为图像非常有用,例如,从数据库中检索Blob数据作为图像显示。
首先,我们需要读取字节数组。假设我们有一个字节数组,可以按以下方式读取:
byte[] imageBytes = File.ReadAllBytes(@"C:\path\to\image.png");
这将读取存储在指定路径中的图像,并将其存储为字节数组变量imageBytes。
要将字节数组转换为图像,我们需要使用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将其转换为图像对象。最后返回该图像对象。
一旦我们将字节数组转换为图像,我们可以使用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#中将字节数组显示为图像的全部过程。无论您是从数据库中检索数据还是从其他地方获取数据,该方法都很有用。