我正在使用以下代码来流式传输图像源:
BitmapImage Art3 = new BitmapImage();
using (FileStream stream = File.OpenRead("c:\\temp\\Album.jpg"))
{
Art3.BeginInit();
Art3.StreamSource = stream;
Art3.EndInit();
}
artwork.Source = Art3;
“艺术品”是应该显示图像的 XAML 对象。代码应该不会锁定图像,它不会锁定它,但也不会显示它并且默认图像变为“无”......我的猜测是我没有正确使用流,并且我的图像变为空。帮助?
更新:
我现在正在使用一位 friend 向我建议的以下代码:
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;
出于某种奇怪的原因,此代码返回以下错误:
我究竟做错了什么?我确信我尝试加载的图像没有损坏。
最佳答案
我设法通过使用以下代码解决了这个问题:
BitmapImage Art3 = new BitmapImage();
FileStream f = File.OpenRead("c:\\temp\\Album.jpg");
MemoryStream ms = new MemoryStream();
f.CopyTo(ms);
ms.Seek(0, SeekOrigin.Begin);
f.Close();
Art3.BeginInit();
Art3.StreamSource = ms;
Art3.EndInit();
artwork.Source = Art3;
感谢所有试图帮助我的人!