以前に読み込んだ BitmapSource を保存しようとすると、System.IO.IOException
別のプロセスがそのファイルにアクセスしており、ファイルストリームを開くことができないというメッセージがスローされます。
以前にロードせずに保存するだけであれば、すべて正常に動作します。
読み込みコード:
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = uri;
if (decodePixelWidth > 0)
image.DecodePixelWidth = decodePixelWidth;
image.EndInit();
保存コード:
using (FileStream fileStream = new FileStream(Directory + "\\" + FileName + ".jpg", FileMode.Create))
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create((BitmapImage)image));
encoder.QualityLevel = 100;
encoder.Save(fileStream);
}
画像データをロードした後、ファイルはまだロックされており、ファイルを開いたアプリケーションがまだ実行されている間は上書きできません。これを解決する方法はありますか?解決策をありがとう。