Byte array to image conversion Byte array to image conversion arrays arrays

Byte array to image conversion


You are writing to your memory stream twice, also you are not disposing the stream after use.You are also asking the image decoder to apply embedded color correction.

Try this instead:

using (var ms = new MemoryStream(byteArrayIn)){    return Image.FromStream(ms);}


Maybe I'm missing something, but for me this one-liner works fine with a byte array that contains an image of a JPEG file.

Image x = (Bitmap)((new ImageConverter()).ConvertFrom(jpegByteArray));

EDIT:

See here for an updated version of this answer: How to convert image in byte array


public Image byteArrayToImage(byte[] bytesArr){    using (MemoryStream memstr = new MemoryStream(bytesArr))    {        Image img = Image.FromStream(memstr);        return img;    }}