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
创始人


