Search code examples
c#.netimagearraysmemorystream

Error" Parameter is not valid " while converting Bytes into Image


I am converting bytes into an image but I get an error

Parameter is not valid

I am pasting my code. Kindly check the code and suggested that was I am doing right or wrong.

Image arr1 = byteArrayToImage(Bytess);

This is the function.

public static Image byteArrayToImage(byte[] byteArrayIn)
{
        if (null == byteArrayIn || byteArrayIn.Length == 0)
            return null;

        MemoryStream ms = new MemoryStream(byteArrayIn);
        try
          {
            Process currentProcess1 = Process.GetCurrentProcess();
            Image returnImage = Image.FromStream(ms);
            return returnImage;
          }
        catch (Exception ex)
          {
            MessageBox.Show(ex.Message);
          }
    }

I applied many techniques and solutions but it did not work for me

Your answer would be appreciated.

Thanks


Solution

  • try this

    public Image byteArrayToImage(byte[] byteArrayIn)
    {
        System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
        Image img = (Image)converter.ConvertFrom(byteArrayIn);
    
        return img;
    }