Skip to the content.

As the subject says … if you want to convert an Image to an array of bytes to save it in the database or in a file or send it to a web service or another application , just put the following extension method in a static class and call it from the Image object like :

byte[] mImageBytes = img.ToBytes(ImageFormat.Png);

public static byte[] ToBytes(this Image image, ImageFormat format)
{
    if (image == null)
       throw new ArgumentNullException("image");
    if (format == null)
       throw new ArgumentNullException("format");
 
    using (MemoryStream stream = new MemoryStream())
    {
       image.Save(stream, format);
       return stream.ToArray();
    }
}