Параметр не действителен.Ошибка изображения из потока - PullRequest
1 голос
/ 25 апреля 2011
public Image DecodeImage ( string _EncodedImage )
{
  byte[] _ByteArray = System . Convert . FromBase64String ( _EncodedImage );
  MemoryStream _MemoryStream = new MemoryStream ( _ByteArray , 0 , _ByteArray . Length );
  _Image = Image . FromStream ( _MemoryStream );
  return _Image;
}

Параметр недействителен.

* Обратите внимание, я пытался:

  • Image _Image = new Bitmap ( _MemoryStream )
  • _MemoryStream . Seek ( 0 , SeekOrigin . Begin );
  • Bitmap _Bitmap = (Bitmap)Image.FromStream(_MemoryStream , true, false);

И получил ту же ошибку

1 Ответ

0 голосов
/ 25 апреля 2011

Скорее всего, массив не представляет действительные данные изображения.

Посмотрите на _ByteArray (в отладчике или распечатайте его) и посмотрите, что у вас есть.Если что-то не так, возможно, сохраните двоичные данные в файл и посмотрите, как на это реагирует редактор изображений.

(кстати, вам не нужно сообщать MemoryStream о длине вашего байтамассив, если только вы не хотите использовать только часть массива. ... = new MemoryStream (_ByteArray) хорошо)

...