我的圖像轉換程序出現問題。我可以轉換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'上使用''語句可以解決這個問題。 –