GDI+中发生一般性错误 Bitmap Save 异常解决
1、先看报错时的源代码,此代码已经让用户用了很长时间,都是没有问题的,突然有一点,客户反馈说软件报错“GDI+中发生一般性错误”;
我调试了一下,的确这样报错的,那为什么之前一直没有报错呢?

2、 SolidBrush brush = new SolidBrush(Color.White);
StringFormat format = new StringFormat(StringFormatFlags.NoClip);
Bitmap image = new Bitmap(w, h);
Graphics g = Graphics.FromImage(image);
g.Clear(Color.White);//透明
image.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
g.Dispose();
image.Dispose();
image = null;
3、修正后的代码,主要是加了这段,using (Bitmap image = new Bitmap(w, h)),让系统自动释放掉资源,这个问题就解决了。

4、SolidBrush brush = new SolidBrush(Color.White);
StringFormat format = new StringFormat(StringFormatFlags.NoClip);
using (Bitmap image = new Bitmap(w, h))
{
Graphics g = Graphics.FromImage(image);
g.Clear(Color.White);//透明
image.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
g.Dispose();
}