这是我的代码:
save.Save(Environment.CurrentDirectory+ "/Content/map.png");
save.Dispose();
我不知道为什么会抛出通用的GDI +错误。 如果我将其更改为
save.Dispose();
save.Save(Environment.CurrentDirectory+ "/Content/map.png");
由于参数无效,它将抛出ArgumentException。
答案 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();