昨调试程序,生成缩略图时中提示“System.OutOfMemoryException: 内存不足。”。在网上溜达了一圈。总结如下:
- GetThumbnailImage(newWidth, newHeight, callback, IntPtr.Zero);中的宽度或者高度 为0或者负数,可能出现内存不足 。
- 提供给System.Drawing.Image对象的Stream释放(Dispose)太早,也会导致内存不足。
- 确实是因为Stream提供的字节流太大,导致内存不足,但这种可能性太小了。现在的Web服务器配置不可能处理一个普通的图片都会导致内存不足。现在计算机的发展远远超过了摩尔定律的约每隔18个月便会增加一倍,性能也将提升一倍的规律。价格猛降。前两天买了个金士顿2G1年保修的U盘,才35RMB,宿舍一兄弟伙配了台AMD 4800+双核的电脑2000不到,降价太黑人了。是不是再等几年就普及4核6核了。
关于C#,VB.NET生成缩略图请参见:
http://msdn.microsoft.com/en-us/library/system.drawing.image.getthumbnailimage.aspx