System.Drawing.Image转换成byte[]数组

我需要一个System.Drawing.Image转换成byte[]数组的功能,当然,也需要反过来转换它们。

第一个用于转换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再返回一个byte数组。

第二个用于转换byte[]到Image:

public Image byteArrayToImage(byte[] byteArrayIn)
{
     MemoryStream ms = new MemoryStream(byteArrayIn);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}

这个方法先创建byte[]数组的MemoryStream,然后,再使用Image类的Image.FromStream方法从MemoryStream中转换图像。

原文地址:https://www.cnblogs.com/Linc2010/p/3425111.html