我也碰到这个问题了,是因为要给图片加水印,所以首先要将图片读成bitmap再操作,而对于超过xxM的图片就会报内存溢出(图片都非常大几十兆是常事)。
如果楼主解决了请告诉我!

解决方案 »

  1.   

    还是代码有问题,Bitmap继承自 Image类,Image类继承了IDisposable接口。
    使用using自动释放资源,应该是代码中有对象不断的创建没有被释放,造成了内存溢出。测试每调用一次方法,查看下内存是否不断再增长。
      

  2.   

    你应该先确定到底是内存溢出还是数组溢出
    是否把图片流转byte数组的时候长度过大了
      

  3.   

     俺也碰到类似问题啦:我在用iTextSharp 生成PDF时,Doument对象的Add方法出现异常:outofmemoryexception,内存溢出。前面我定义了一个document和table:
    iTextSharp.text.Document document = iTextSharp.text.Document();
    iTextSharp.text.Table table = new iTextSharp.text.Table(int);然后去数据库取数据,放到table里面,用table.Add(cell);方法。
    数据有3W条左右。取完之后,我将table添加到document对象中:document.Add(table);
    然而,就在这时,这个方法抛出了上述异常,请问该怎么解决?
      

  4.   

    别说几十M,几百兆的图片读取都没有问题的。最好调试下!
    读取后可以压缩下像素,把原来的image对象立即释放掉。
    Image myImage = image.GetThumbnailImage(800, 600, () => { return false; }, IntPtr.Zero);
    缩略图最好按比例缩放。