Я использую следующий код для потоковой передачи источника изображения:
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;
По какой-то странной причине этот код возвращает следующую ошибку:
Изображение не может быть декодировано. Заголовок изображения может быть поврежден.
Что я делаю не так? Я уверен, что образ, который я пытаюсь загрузить, не поврежден.