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+ 操作内存流就出现异常。

转载于:https://www.cnblogs.com/vmyspace/archive/2012/03/19/2405670.html

你可能感兴趣的:(C# GDI+绘图出现内存不足问题)