C# 图像到字节数组和字节数组到图像转换器类






4.84/5 (110投票s)
C# 辅助类,用于将图像转换为字节数组,以及将字节数组转换为图像
引言
最近,我正在寻找一个可以将 System.Drawing.Image
转换为 byte[]
数组,反之亦然的类。在Google上搜索了很长时间后,我意识到自己编写这个类并与社区分享会更快。
我编写的类名为 ImageConverter.cs。该类有两个方法。
第一个方法:将 Image
转换为 byte[]
数组
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
此方法使用 System.Drawing.Image.Save
方法将图像保存到 memorystream
。然后可以使用 memorystream
使用 MemoryStream
类中的 ToArray()
方法返回字节数组。
第二个方法:将 byte[]
数组转换为 Image
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
此方法使用 Image
类中的 Image.FromStream
方法从使用 byte
数组创建的 memorystream
创建方法。这样创建的图像将在此方法中返回。
我使用此方法的目的是通过将其转换为字节数组和反之亦然,将图像传输到Web服务。
希望这个类对社区也有用。可以从本文顶部的链接下载 ImageConverter.cs 的代码。
Rajan Tawate
创始人