我使用下面的代码块,在using块中使用更多代码:

using (System.Drawing.Bitmap tempImg =
       (System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap))
{
    // ...
    tempImg.Save("..\\..\\testdata\\tempImg.bmp", ImageFormat.Bmp);
    // ...
}

但是我仍然得到错误:



只有在我执行了一些与using块中的代码无关的操作之后。在其他时候,这很好。
tempImg.bmp也是一个临时文件,因此我在using块本身中删除了tempImg.bmp。

由于tempImg在使用中并且已将其丢弃,因此我认为应该解决锁定问题。

有人可以让我知道此代码中的错误吗?

编辑:System.Drawing.ImageSystem.Drawing.Bitmap作为tempImg的类型。

编辑:
我已经确定只有在创建SaveFileDialog并用户单击“保存”后才出现此错误。

最佳答案

最终,我可以找到代码中的错误,并在这里提及,因为我认为这可能对某人有用。

正如我在tempImg.Save中给出的相对路径,并且在用户单击SaveFileDialog中的“保存”后,tempImg.Save的实际路径变为:

SaveFileDialog指定的路径+相对路径

自动。

因此,如果路径不存在,则会发生此错误。

谢谢大家的回答。

10-01 07:59