Почему не работает потоковый источник изображения?

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

        BitmapImage Art3 = new BitmapImage();
        using (FileStream stream = File.OpenRead("c:\\temp\\Album.jpg"))
        {
            Art3.BeginInit();
            Art3.StreamSource = stream;
            Art3.EndInit();
        }
        artwork.Source = Art3;

"artwork" - это Объект XAML, на котором должно отображаться изображение. Предполагается, что код не блокирует изображение, он не блокирует его, но и не показывает его, и изображение по умолчанию становится "ничего" ... Я предполагаю, что я неправильно использую поток, и мое изображение становится нулевым. Помогите?

ОБНОВЛЕНИЕ:

Сейчас я использую следующий код, который мне предложил друг:

        BitmapImage Art3 = new BitmapImage();

        FileStream f = File.OpenRead("c:\\temp\\Album.jpg");

        MemoryStream ms = new MemoryStream();
        f.CopyTo(ms);
        f.Close();

        Art3.BeginInit();
        Art3.StreamSource = ms;
        Art3.EndInit();   

        artwork.Source = Art3;

По какой-то странной причине этот код возвращает следующую ошибку:

Изображение не может быть декодировано. Заголовок изображения может быть поврежден.

Что я делаю не так? Я уверен, что образ, который я пытаюсь загрузить, не поврежден.

7
задан durron597 25 August 2015 в 16:00
поделиться