我的图像转换程序出现问题。我可以转换39图像,然后出现此错误:转换映像内存不足错误
Exception thrown: 'System.OutOfMemoryException' in System.Drawing.dll
我不明白什么是我的代码问题。
错误:
string[] originalImage = Directory.GetFiles(textBox1.Text);
foreach (var filename in originalImage)
{
if (fileExtension.ToUpper() == ".JPG" || fileExtension.ToUpper() == ".PNG")
{
Bitmap bitmap = new Bitmap(filename); //error coming here
//DefaultCompressionJpeg(bitmap);
string fn = Path.GetFileNameWithoutExtension(filename);
VariousQuality(bitmap, fn, fileExtension, fileOriginalDate);
}
}
为什么如果你在第一个循环中突破它,甚至使用'for'循环? –
'OutOfMemoryException'可能来自'FileStream',它可能无法在每个转换过程中正确处理,因此现有实例在创建新实例并耗尽内存空间时仍可在内存中使用。在'FileStream'上使用''语句可以解决这个问题。 –