2013-10-24 37 views
1
Bitmap bmp = new Bitmap(files2.FullName); 

我上面的代碼中files2是參數無效例外試圖創建一個新的位圖對象

foreach (FileInfo files2 in files) 

當我處理大量的圖像,這是給例外只少數圖像。誰可以幫我這個事?

感謝

這是我的代碼:

foreach (FileInfo files2 in files) 
{ 
    string nametime = files2.FullName.ToString(); 
    DateTime createdTime = File.GetCreationTime(nametime); 
    //Console.WriteLine(createdTime); 

    //test 
    if (createdTime.ToShortDateString() == DateTime.Today.ToShortDateString()) 
    { 
     try 
     { 
      if (files2.Extension == ".jpg" || files2.Extension == ".png" || files2.Extension == ".JPG" || files2.Extension == ".PNG" || files2.Extension == ".jpeg" || files2.Extension == ".JPEG") 
      { 
       Console.WriteLine("Name: " + files2.FullName); 
       Bitmap bmp = new Bitmap(files2.FullName); 

回答

1

因爲這只是發生在您處理大批量的,它可能是一個記憶的問題。 Bitmap包含非託管資源,所以您應在完成後致電Dispose。最好的辦法是通過using聲明暗示:

using (Bitmap bmp = new Bitmap(files2.FullName)) 
{ 
    // Process the bitmap here 
} 
+2

非常感謝Simon McKenzie的幫助。它解決了我的問題。 –