#image #base64 #memorystream
#изображение #base64 #memorystream
Вопрос:
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. Я использую аналогичный фрагмент, который я получил из этого поста
Ответ №1:
Скорее всего, массив не представляет допустимые данные изображения.
Посмотрите _ByteArray
(в отладчике или распечатайте его) и посмотрите, что у вас получилось. Если что-то выглядит не так, возможно, сохраните двоичные данные в файл и посмотрите, как на это отреагирует редактор изображений.
(кстати, вам не нужно сообщать MemoryStream
о длине вашего массива байтов, если только вы не хотите использовать только часть массива. ... = new MemoryStream (_ByteArray)
все в порядке)