gdi+ 中發生一般性錯誤
阿新 • • 發佈:2018-12-30
網際網路所找到的相關方法:在開發.NET應用中,使用 System.Drawing.Image.Save 方法而導致“GDI+ 中發生一般性錯誤”的發生,通常有以下三種原因:
- 相應的帳戶沒有寫許可權。
解決方法:賦予 NETWORK SERVICE 帳戶以寫許可權。 - 指定的物理路徑不存在。
解決方法:
在呼叫 Save 方法之前,先判斷目錄是否存在,若不存在,則建立。
if (!Directory.Exists(dirpath))
Directory.CreateDirectory(dirpath); - 儲存的檔案已存在並因某種原因被鎖定。
解決方法:
重啟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.記憶體爆滿問題
自身是做相機拍攝,因為相機返回的畫素過大導致記憶體爆滿。先看看自己相機的返回影象多大,與自身系統是否能夠帶的動。