Introduction
Recently I was looking for a class which could convert a System.Drawing.Image
to byte[]
array and vice versa. After a lot of searching on Google, I realised that it would be faster for me to write this class and also share it with the community.
The class which I wrote is called ImageConverter.cs. The class has two methods.
First method: Convert Image
to byte[]
array:
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
This method uses the System.Drawing.Image.Save
method to save the image to a memorystream
. The memorystream
can then be used to return a byte array using the ToArray()
method in the MemoryStream
class.
Second method: Convert byte[]
array to Image
:
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
This method uses the Image.FromStream
method in the Image
class to create a method from a memorystream
which has been created using a byte
array. The image thus created is returned in this method.
The way I happen to use this method was to transport an image to a web service, by converting it to a byte array and vice-versa.
Hope this class is useful to the community as well. The code of ImageConverter.cs can be downloaded from the link at the top of this article.
Rajan Tawate
Founder
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.