Bitmap.Save()抛出泛型GDI +错误或ArgumentException

时间:2014-02-13 18:17:16

标签: c# xna

这是我的代码:

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

我不知道为什么会抛出通用的GDI +错误。 如果我将其更改为

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

由于参数无效,它将抛出ArgumentException。

3 个答案:

答案 0 :(得分:0)

尝试保存FileInfo对象的路径

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

这将确保文件名的格式有效。还要确保您具有该目录的管理权限,或者Visual Studio以管理员身份运行。

如果你试图将texture2D保存到位图,那么这对单眼游戏不起作用,只是FYI。

答案 1 :(得分: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"))`

答案 2 :(得分:0)

Path.Combine与目录和文件一起使用,此方法将返回路径。

示例:

string file = "map.png";
string dir = Environment.CurrentDirectory;
string path = System.IO.Path.Combine(dir, file);

save.Save(path);
save.Dispose();