Как узнать, не удалось ли загрузить растровое изображение WPF? - PullRequest
1 голос
/ 08 августа 2011

Я использую следующий код для загрузки изображения из файла в класс растровых изображений для отображения пользователю в определенном размере:

                BitmapImage resized = new BitmapImage();
                FileStream fs = new FileStream(ImageSource, FileMode.Open);
                MemoryStream ms = new MemoryStream();
                fs.CopyTo(ms);
                fs.Close();
                resized.BeginInit();
                resized.CacheOption = BitmapCacheOption.OnDemand;
                resized.DecodePixelHeight = (int)(_imageBaseHeight * zoomRate);
                resized.DecodePixelWidth = (int)(_imageBaseWidth * zoomRate);
                resized.StreamSource = ms;
                resized.EndInit();
                ImageDisplay = resized;

Проблема в том, что иногда на особенно больших изображениях происходит сбой в режиме без вывода сообщений и отображается пустое изображение без исключения. Есть ли флаг, который я могу проверить после EndInit (), чтобы убедиться, что изображение загружено?

Ответы [ 2 ]

3 голосов
/ 08 августа 2011

Используйте событие resized.DownloadFailed для получения информации.

0 голосов
/ 04 июня 2015

Вы также можете использовать событие ImageFailed.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...