将图像转换为字节数组,反之亦然



这可能是一个现有的问题,但我得到的答案并不完全是我想要的。

在C#窗体中,我想将图片框中的图像(而不是路径(转换为Byte数组,并在标签中显示该Byte数组。

目前,这就是我所拥有的。

Byte[] result = (Byte[]) new ImageConverter().ConvertTo(pbOrigImage.Image, typeof(Byte[]));

然后,在标签中显示Byte数组后,我想将其从Byte数组转换为图像。当涉及到图像到字节数组的转换时,我目前没有代码。但这可能吗?

您可以使用以下方法从byte[]转换为Image

public byte[] ConvertImageToBytes(Image img)
{
byte[] arr;
using (MemoryStream ms = new MemoryStream())
{
Bitmap bmp = new Bitmap(img);
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
arr = ms.ToArray();
}
return arr;
}
public Image ConvertBytesToImage(byte[] arr)
{
using (MemoryStream ms = new MemoryStream(arr))
{
return Bitmap.FromStream(ms);
}
}

要将byte[]转换为string或反之亦然,您可以参考此

最新更新