0

WPFで画像を表示しようとしています。私はこれを使用します:

            Stream fs = File.Open(path, FileMode.Open);

            BitmapImage bmp = new BitmapImage();
            bmp.BeginInit();
            bmp.StreamSource = fs;
            bmp.EndInit();
            img.Source = bmp;
            fs.Close();

これは、ストリームを閉じても閉じなくても機能しません。何が機能しますか:

            BitmapImage bmp = new BitmapImage(new Uri(path));
            img.Source = bmp;

ストリームを閉じる必要があるという事実を除いて、2 番目の方法を使用します。これの何が問題なのですか?

4

1 に答える 1

1

将来これを探している人へ: StreamSource を設定する前に次の行を追加して、これを修正しました: bmp.CacheOption = BitmapCacheOption.OnLoad;

完全なコード:

            BitmapImage bmp = new BitmapImage();
            bmp.BeginInit();
            bmp.CacheOption = BitmapCacheOption.OnLoad;
            bmp.StreamSource = fs;
            bmp.EndInit();
            img.Source = bmp;
于 2012-09-01T23:24:04.660 に答える