Для чтения изображения из папки с помощью моего приложения Silverlight я устанавливаю источник растрового изображения с потоком файла.См. Приведенный ниже код:
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Images", String.Format("{0}.jpg", _imageName));
if (File.Exists(path))
{
Image = new BitmapImage();
Image.SetSource(new MemoryStream(File.ReadAllBytes(path)));
}
Проблема в том, что для отображения изображения требуется много времени, и при загрузке большого количества изображений (> 400) я могу получить недостаточно памяти.У меня никогда не было этой ошибки при загрузке изображения по URI, и мне было интересно, можно ли загрузить его по URI из пути.Код, который я пробовал:
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Images", String.Format("{0}.jpg", _imageName));
if (File.Exists(path))
{
Image = new BitmapImage()
{
UriSource = new Uri(path),
CreateOptions = BitmapCreateOptions.DelayCreation
};
}
Есть ли у вас какие-либо подсказки, чтобы предоставить?
Спасибо!
Филипп