1. 程式人生 > >gdi+ 中發生一般性錯誤

gdi+ 中發生一般性錯誤

網際網路所找到的相關方法:在開發.NET應用中,使用 System.Drawing.Image.Save 方法而導致“GDI+ 中發生一般性錯誤”的發生,通常有以下三種原因:

  1. 相應的帳戶沒有寫許可權。
    解決方法:賦予 NETWORK SERVICE 帳戶以寫許可權。
  2. 指定的物理路徑不存在。
    解決方法:
    在呼叫 Save 方法之前,先判斷目錄是否存在,若不存在,則建立。
    if (!Directory.Exists(dirpath))
    Directory.CreateDirectory(dirpath);
  3. 儲存的檔案已存在並因某種原因被鎖定。
    解決方法:
    重啟IIS,解除鎖定。並在程式碼中使用 using 語句,確保釋放 Image 物件所使用的所有資源。

遇到的情況
4.存在被使用路徑時,註釋處為釋放資源可解決

    	Threading.Thread.Sleep(300)
        bmp.RotateFlip(Rotate1)
        ‘’Bmp1 = New Bitmap(Inbmp.Width, bmp.Height)
        Dim g As Graphics = Graphics.FromImage(Bmp1)
        ‘’g.DrawImage(bmp, New Point)
        bmp.Dispose()
        Bmp1 = bmp.Clone
        ‘’PicboxControl1.SetImage(Bmp1)

5.記憶體爆滿問題
自身是做相機拍攝,因為相機返回的畫素過大導致記憶體爆滿。先看看自己相機的返回影象多大,與自身系統是否能夠帶的動。