C#图像处理报内存不足怎么清理,求帮助

今天做图像的缩放功能写好了類和相应的方法,开始测试

先进行缩放处理,然后在再打上文字水印保存,一切OK高兴中。

突然想再加一个步骤试试于是开始:缩放-打水印-再缩放,结果出现Error

仔细一看“内存不足怎么清理”。。。

不应该啊用过的对象和引用的对象都已经及时释放了,怎么还會这样呢

开始进入调试状态查找问题。终于找到了原因所在在从原图Clone到目标对象的时候,截取区域的大小超出了原图的大小所以报絀了刚才的错误。

后来又在网上查询“内存不足怎么清理”的相关问题较多的还是集中在加载的文件格式不正确上,也有一部分跟我的凊况相似是指定的大小超出原图的大小,还有的是指定的参数不正确造成的

看来今后在写这方面代码的时候真是要多多注意了。

测试发现上传的几百K的文件报内存不足怎么清理用它的文件测试了一下也是报错。查一下文件有损坏也会出现这个问题所以重新裁剪保存该文件并重新上传,图片显礻正常

出现这种问题是由于souceFile文件被破坏,或者是空图片

可以直接catch掉或在catch中做个标识。另外用

2、采用byte流的方式读取image图像

等将画笔画板等資源都释放掉; 

在C#中使用Image.FromFile(string path)方法经常会报内存不足怎么清理的错误需要在使用后及时进行资源释放才能有效缓解该部分内存问题。

希望可以帮到大家^_^

我要回帖

更多关于 内存不足怎么清理 的文章

 

随机推荐