65.9K
CodeProject 正在变化。 阅读更多。
Home

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

2006年9月3日

CPOL

1分钟阅读

viewsIcon

1691899

downloadIcon

25438

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

创始人

© . All rights reserved.