BitmapImage Не удается декодировать изображение

257
29 апреля 2017, 20:12

Сохраняю изображение в массив байтов, перед этим произвел конвертацию изображения в JPEG.

using (MemoryStream ms = new MemoryStream())
            {
                ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
                // Create an Encoder object based on the GUID  
                // for the Quality parameter category.  
                System.Drawing.Imaging.Encoder myEncoder =
                    System.Drawing.Imaging.Encoder.Quality;
                // Create an EncoderParameters object.  
                // An EncoderParameters object has an array of EncoderParameter  
                // objects. In this case, there is only one  
                // EncoderParameter object in the array.  
                EncoderParameters myEncoderParameters = new EncoderParameters(1);
                EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 20L);
                myEncoderParameters.Param[0] = myEncoderParameter;
                image.Save(ms, jpgEncoder, myEncoderParameters);
                imgData = ms.ToArray();
            }

После получаю изображение, но мне выдает Exception

Не удается декодировать изображение. Возможно, поврежден заголовок изображения c#

Передается только нормально, если я укажу формат ImageFormat.PNG без конвертации. А ImageFormat.Jpeg, не работает никак

using (MemoryStream ms = new MemoryStream(imgData, 0, imgData.Length))
            {
                ms.Write(imgData, 0, imgData.Length);
                bitmap = new BitmapImage();
                bitmap.BeginInit();
                bitmap.StreamSource = ms;
                bitmap.CacheOption = BitmapCacheOption.OnLoad;
                bitmap.EndInit();
                bitmap.Freeze();
            }
READ ALSO
Удаление элемента из списка при условии C#

Удаление элемента из списка при условии C#

У меня есть некий список, в котором находятся обьектыК примеру есть тигр, рыба,

338
Как перейти на сайт без URL?

Как перейти на сайт без URL?

Как сделать так, чтобы драйвер перешёл на другой сайт вместе с нажатием по элементу? Просто URL ка каждом аккаунте разныйПример:

303
Какой метод в WPF срабатывает при смене UserControl в ContentControl?

Какой метод в WPF срабатывает при смене UserControl в ContentControl?

В приложении по клику на разные кнопки меню в ContentControl подгружаются разные вьюшкиВ каждой вьюьшке идет запрос к базе данных, каждую секунду...

421
Как сделать sprite во весь экран?

Как сделать sprite во весь экран?

Как сделать sprite во весь экран (Независимую размерность, унив?

303