Теперь я пытаюсь получить Image Image из jpg Image. Я уже пытался использовать BitmapSource, связанный по адресу here.Как я могу получить класс изображений из MemoryStream jpg Image?
Ошибка не английская, но смысл в том, что «заголовок изображения сломан, поэтому его невозможно декодировать». Другие форматы, такие как gif, png, bmp, не имеют проблем. только формат jpg, столкнувшийся с этой проблемой.
< Sequence> Zip архивный файл (JPG-файл находится в этом файле.) -> распаковать библиотека -> MemoryStream (JPG-файл) -> BitmapSource
imageSource.BeginInit();
imageSource.StreamSource = memoryStream;
imageSource.EndInit();
этот код делает ошибку.
Я думаю, что причина в том, что поток памяти имеет двоичный двоичный файл jpg, и это не формат Bitmap. Таким образом, BitmapSource не может распознать данные потока данных в виде растрового изображения.
Как я могу решить эту проблему? Моя цель в том, что Input: «ZIP-файл (в jpg)» -> Выход: Image Class.
Спасибо!
< Мой код>
using (MemoryStream _reader = new MemoryStream())
{
reader.WriteEntryTo(_reader); // <- input jpg_data to _reader
var bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.StreamSource = _reader;
bitmap.EndInit();
bitmap.Freeze();
Image tmpImg = new Image();
tmpImg.Source = bitmap;
}
BitmapImage может, конечно, декодировать буфер JPG. Вероятно, вы забыли перемотать поток где-то, например, например. 'stream.Position = 0;' Вы должны показать нам больше вашего кода. – Clemens
Спасибо! Я прикрепил свой код. –