在 WPF 应用程序中,我需要将位图保存到磁盘,然后在进行一些更改后,我尝试删除保存的文件并再次保存修改后的图像。
问题一旦保存,位图不会释放文件并在我尝试删除它时引发异常。
//Gets a bitmap from DevDept.EyeShot model via Scene.RenderToBitmap() and save it to disk
using (var bmpRight = Scene.RenderToBitmap(new System.Drawing.Size(100, 100)))
{
bmpRight.Save(rightPath.Replace(".stl", ".jpg"));
}
然后用户修改 3D 模型并尝试使用相同的名称再次保存。(因为它与约会相关联)。
当我尝试删除它时
if (System.IO.File.Exists(rightPath.Replace(".stl", ".jpg")))
System.IO.File.Delete(rightPath.Replace(".stl", ".jpg"));
我抛出一个错误:
该进程无法访问该文件,因为它正被另一个进程使用。
如果我在没有 3D 平台的 Scene2.RenderToBitmap() 方法的情况下做同样的事情,它不会产生任何错误。但是,怎么可能呢?物理文件和平台没有关系!
有什么想法吗?