C# GDI+绘图出现内存不足问题

C# GDI+绘图出现内存不足问题

这两天开发一个图片放大功能,通过读取保存在数据库中的二进制图片流,在Datagridview中显示,然后选中列表中的图片进行放大的显示的功能。在 放大过程中出现“内存不足”的异常;经过网上的查询,最后发现原来是读取数据库二进制图片流时,进行图片流的关闭,与清空。其实不是内存不足,问题很明晰 了【二进制打开了图片,关闭流再画时就会报内存不足】,画图时,它所用到的流必须一直保持打开状态,你关闭了,还怎么画?很多底层的模块会报告“内存不足”,不是因为内存不足,而是由于遇到了野指针。贴出部分代码以作解释:

//将Datagridview中的图片读取的内存流

MemoryStream ms=new MemoryStream((byte[])datagridview1.Rows[RowIndex].cells["FSPic"].value);

ms.Position=0;

pictureBox1.Image=Image.FromStream(ms);

//ms.close();//释放内存图片流----------此处被释放引发的异常

//ms.Dispose();

此处被释放掉下面的GDI+ 操作内存流就出现异常。

posted @ 2012-03-19 10:18  晴天有时下鱼  阅读(1483)  评论(0编辑  收藏  举报