oSmall = oImage.GetThumbnailImage(nWidth, nHeight, null ,IntPtr.Zero);
生成的缩略图长度或宽度不能为0.检查一下上面的语句中nWidth,nHeight的值
如果为0,系统不能处理,就认为"内存不足"了
可以先判断一下你要处理的图片,给予长度或宽度有0的考虑处理,再进行缩略。

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=45E7E33C-F149-450E-B5D5-832958C20538http://dotnet.aspx.cc/Exam/Thumbnail.aspx
      

  2.   

    不象是图片大小的问题,哪个图片再大能有多大呢
    按照fun1984(程神) 说的检查一下
      

  3.   

    谢谢大家!
    果然是图片宽度或者高度为0的问题。我原本是打算按照比例来缩放,表达式是这样:
    if (oImage.Width > oImage.Height)
    {
      nNewWidth = 100;
      nNewHeight = 100/oImage.Width * oImage.Height;  //呵呵,就是错在这里
    }改成这样就对了:
    nNewHeight = (int)(100d / (double)oImage.Width * (double)oImage.Height);