任何人都可以告诉我下面的代码有什么问题我没有兴趣搞清楚这一点。我正在处理并拥有一个使用块,但一直得到这个异常
类型'
System.OutOfMemoryException
'未处理的例外情况发生在System.Drawing.dll
其他信息:内存不足。
foreach (FileInfo file in files)
{
Regex re = new Regex("original", RegexOptions.IgnoreCase);
if (re.IsMatch(file.FullName)) continue;
using (System.Drawing.Image img = System.Drawing.Image.FromFile(file.FullName))
{
if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
{
filesJpeg.Add(file);
img.Dispose();
}
else
{
img.Dispose();
File.Delete(file.FullName);
}
img.Dispose();
}
}
答案 0 :(得分:1)
打开图片时OutOfMemoryException
可能不一定意味着内存不足。这可能意味着图像格式未知,或GDI +不支持。
根据文档(在http://msdn.microsoft.com/en-us/library/stf701f5.aspx上):
<强>异常强>
OutOfMemoryException异常
<强>条件强>
该文件没有有效的图片格式。
-OR -
GDI +不支持文件的像素格式。
我检查文件在哪里抛出异常,看看它是否有奇怪的格式