2013-02-01 49 views
0

我找不出解決方案。這是我的代碼:位圖ctor拋出異常

Dim wbRect As Rectangle = WebBrowser1.ClientRectangle 
    Dim wbBm As New Bitmap(WebBrowser1.ClientRectangle.Width, WebBrowser1.ClientRectangle.Height) 
    Dim gwb As Graphics = Graphics.FromImage(wbBm) 
    gwb.CopyFromScreen(WebBrowser1.PointToScreen(New Point(14, 31)), 
    New Point(0, 0), 
    New Size(PictureBox1.Width, PictureBox1.Height)) 
    wbBm.Save("c:\temp1.bmp") 
    PictureBox1.ImageLocation = "c:\temp1.bmp" 
    PictureBox1.BringToFront() 

    Dim bm As New Bitmap("c:\img1.bmp") //here appears an error - Parameter is not valid 

    Dim rect As New Rectangle(0, 0, bm.Width, bm.Height) 
    Dim bmpData As System.Drawing.Imaging.BitmapData = bm.LockBits(rect, _ 
    System.Drawing.Imaging.ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb) 

我能做些什麼來消除錯誤?

+1

您可以先告訴我們Exception是什麼。 –

+0

我編輯帖子 – user2023328

+0

你看了InnerException嗎? –

回答

0

如果文件不存在,將會出現此錯誤。檢查並確保img1.bmp存在,然後再嘗試打開它:

Dim fn As String = "c:\img1.bmp" 
    If File.Exists(fn) 
     Dim bm As New Bitmap(fn) ''here appears an error - Parameter is not valid 

     Dim rect As New Rectangle(0, 0, bm.Width, bm.Height) 
     Dim bmpData As System.Drawing.Imaging.BitmapData = bm.LockBits(rect, _ 
     System.Drawing.Imaging.ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb) 
    End If