GDI Image::Save 返回 Win32Error

Posted

技术标签:

【中文标题】GDI Image::Save 返回 Win32Error【英文标题】:GDI Image::Save returns Win32Error 【发布时间】:2009-11-04 04:58:43 【问题描述】:

我正在使用 GDI Image::Save 方法将图像保存到我的文件中 应用。 我在少数情况下收到 Win32Error (7) 状态错误 与 Vista 64 位。它在 vista 32 位上运行良好。 而且这个问题也是随机出现的。

你能建议如何解决这个问题

提前致谢

问候 苏比雷迪

【问题讨论】:

Win32Error返回时GetLastEror()的返回值是多少? 【参考方案1】:

一种可能发生这种情况的情况是图像的底层流已关闭:

using ( var fs = new FileStream( filename, FileMode.Open ) ) 
    bmp = (Bitmap)Image.FromStream( fs );

如果您现在尝试保存 bmp,则可能会出现此错误。当然,您的问题可能完全不同。

但是,您可以尝试保存图像的副本,而不是直接保存图像,如下所示:

using ( var tempBitmap = new Bimap( oldBitmap ) ) 
    tempBitmap.Save( ...... );

【讨论】:

以上是关于GDI Image::Save 返回 Win32Error的主要内容,如果未能解决你的问题,请参考以下文章

Image.Save()发生“GDI+ 中发生一般性错误”

System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。

C# bitmap保存时GDI+出现一般性错误?

GDI+中发生一般性错误的解决办法

无法从 Win32 C++ GDI+ 中的函数返回图形对象

C#picturebox覆盖保存GDI+ 中发生一般性错误