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
};
}
提供するヒントはありますか?
ありがとうございました!
フィリップ