2014-02-13 33 views
0

這是我的代碼:Bitmap.Save()拋出通用GDI +錯誤或ArgumentException的

save.Save(Environment.CurrentDirectory+ "/Content/map.png"); 
save.Dispose(); 

我不知道爲什麼,這將引發一個通用的GDI +錯誤。 如果我將其更改爲

save.Dispose(); 
save.Save(Environment.CurrentDirectory+ "/Content/map.png"); 

它會拋出,因爲參數無效的ArgumentException的。

+0

你檢查什麼是Environment.CurrentDirectory?衆所周知,在這次電話會議中你會得到令人驚訝的結果。 – Steve

+0

我做了並更正了我的代碼。但它不起作用。 – Hobbit9797

+0

如果因*任何*原因無法保存文件,您將得到該異常。像Environment.CurrentDirectory沒有被設置到你希望的目錄。 –

回答

0

嘗試的路徑保存到一個FileInfo對象

FileInfo lInfo = new FileInfo(Environment.CurrentDirectory + "/Content/map.png"); 
save.Save(lInfo.FullName); 
save.Dispose(); 

這將確保該文件名格式無效。另外請確保您擁有該目錄的管理權限,或者該Visual Studio以管理員身份運行。

這對monogame不起作用,如果你試圖將texture2D保存到位圖,只是FYI。

0

你肯定

`FileInfo lInfo = new FileInfo(Environment.CurrentDirectory + "/Content/map.png");` 

是否行得通呢?據我所知,你必須使用

`FileInfo lInfo = new FileInfo(Path.Combine(Environment.CurrentDirectory, @"content\map.png"));` 

`FileInfo lInfo = new FileInfo(Path.Combine(Environment.CurrentDirectory, "//content//map.png"))` 
+0

偉大的思想看起來很相似 – willthiswork89