相关疑难解决方法(0)

加载一个BitmapSource并在WPF中使用相同的名称保存 - > IOException

当我尝试保存我之前加载的BitmapSource时,System.IO.IOException会抛出一个说明另一个进程正在访问该文件并且无法打开文件流.

如果我之前只保存不加载,一切正常.

加载代码:

BitmapImage image = new BitmapImage();

image.BeginInit();
image.UriSource = uri;

if (decodePixelWidth > 0)
image.DecodePixelWidth = decodePixelWidth;

image.EndInit();
Run Code Online (Sandbox Code Playgroud)

保存代码:

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);
}
Run Code Online (Sandbox Code Playgroud)

看起来加载图像数据后,文件仍然被锁定,打开它的应用程序仍在运行时永远不会被覆盖.任何想法如何解决这个问题?非常感谢任何解决方案.

c# wpf load bitmap save

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

bitmap ×1

c# ×1

load ×1

save ×1

wpf ×1