Parameter não é um erro válido ao criar imagem de byte [] em c #

Estou tentando converter umbyte[] paraBitmap em c #. A seguir está o código:

MemoryStream ms = new MemoryStream(b);
Bitmap bmp = new Bitmap(ms);

Mostra o erroParameter is not valid ao criar oBitmap.

byte[] b vem de um fluxo de rede.

Mas quando eu escrevo este byte [] em um arquivo e abro esse arquivo em qualquer visualizador de imagens, ele funciona perfeitamente. A seguir, está o código para escrever o byte [] no arquivo:

 var fs = new BinaryWriter(new FileStream("tmp.bmp", FileMode.Create, FileAccess.Write));
 fs.Write(b);
 fs.Close();

O que estou perdendo aqui

EDITA

Aqui está meu código completo que estava causando o problema

 Socket s = listener.AcceptSocket();
 byte[] b = new byte[imgLen];
 s.Receive(b);
 MemoryStream ms = new MemoryStream(b);
 // now here I am using ms.Seek(0, SeekOrigin.Begin); that fixed my problem.
 Bitmap bmp = new Bitmap(ms);
 pictureBox1.Image = bmp;
 s.Close();

Estou usando esse código emForm_Load event e não há nada extra. Estou apenas tentando exibir uma imagem transmitida na rede. O servidor está escrito em Java que está transmitindo esta imagem.

Espero que esclareça as dúvida

Obrigad

questionAnswers(3)

yourAnswerToTheQuestion