2013-07-12 43 views
0

我在保存圖像時遇到了一些問題,它在我嘗試保存圖像的行上顯示「Bad Paremeter」。使用圖像上的save()時出現錯誤參數

我不確定這是我如何創建圖像,或者如果它只是保存這是問題。

public static void Fullscreen() 
{ 
    string fileName = Helper.RandomStr(10) + ".png"; 

    try 
    { 
     var image = ScreenCapture.CaptureFullscreen(); 
     image.Save(fileName, ImageFormat.Png); 

     System.Diagnostics.Process.Start(fileName); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("Unable to capture fullscreen because: " + ex.ToString() + "\r\n\r\nFile: " + fileName); 
    } 
} 

編輯:

這裏是獲取位圖

public static Bitmap CaptureFullscreen() 
    { 
     using (Bitmap bmp = new Bitmap(ScreenDimensions.Width, ScreenDimensions.Height)) 
     { 
      using (Graphics g = Graphics.FromImage(bmp)) 
      { 
       g.CopyFromScreen(Point.Empty, Point.Empty, bmp.Size); 
      } 

      return bmp; 
     } 
    } 
+1

Helper.RandomStr(10)做了什麼? 'filename'中的路徑是否有效? – Andy

+0

看看這裏http://stackoverflow.com/questions/5049122/how-to-capture-the-screen-shot-using-net – christiandev

+0

你必須記錄什麼'ScreenCapture.CaptureFullscreen'是。 – LarsTech

回答

1

錯誤的參數是GDI +的方式告訴存在一些問題的方法。 這是一個恥辱,錯誤不是非常具有描述性。

首先嚐試換圖像參數爲位圖的構造函數,如:

image = new Bitmap(image); 

該部隊立即處理位圖。

它更簡單,刪除使用位圖。

0

嘗試使用已知的路徑,看看是否開始工作。如果是這樣,那麼你可能需要一個新的隨機字符串生成器,它可以生成有效的路徑或命名該文件的不同方式。

相關問題