【发布时间】:2011-08-14 09:25:36
【问题描述】:
我在 using 块中使用了以下代码块和更多代码:
using (System.Drawing.Bitmap tempImg =
(System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap))
{
// ...
tempImg.Save("..\\..\\testdata\\tempImg.bmp", ImageFormat.Bmp);
// ...
}
但我仍然收到错误:
GDI+ 发生一般错误
只有在我做了一些与 using 块内的代码无关的操作之后。在其他时候,这很好用。 tempImg.bmp 也是一个临时文件,所以我在 using 块本身中删除了 tempImg.bmp。
由于 tempImg 在 using 中并且它已被处理,我认为应该解决锁定问题。
谁能告诉我这段代码有什么错误?
编辑:
System.Drawing.Image 到 System.Drawing.Bitmap 作为tempImg 的类型。
编辑: 我已经确定只有在创建 SaveFileDialog 并且用户单击“保存”后才会收到此错误。
【问题讨论】:
-
为什么 tempImg Image 和你的演员 Bitmap ?
-
抱歉,应该更正为 SYStem.Drawing.Bitmap... 感谢您的评论
-
只有在我做了一些与代码无关的操作后这是否涉及读取/保存其他图像?
-
不,它只使用从 tempImg 获得的 Bitmap 对象创建一个 avi 文件,虽然每次获取 bitmap 对象后都会删除 using 块内的流本身t和 tempImg.bmp。
-
所以这可能是问题,因为它已经被进程使用,发布该代码以便它更相关
标签: c# bitmap save savefiledialog