我正在尝试逐个访问目录中的图像。 这是代码
string[] filesindirectory = Directory.GetFiles(("D:/Folder/32373577989/"));
foreach (string item in filesindirectory)
{
Bitmap bitMapImage = new Bitmap(System.IO.Path.GetFileName(item));
}
但是当我创建位图obj时它在循环内给出错误,它说“无效参数”。即使我检查了目录中文件的位置是正确的,但仍然显示错误。 请告诉我什么是错的。 提前谢谢
答案 0 :(得分:3)
摆脱System.IO.Path.GetFileName
电话:
foreach (string item in filesindirectory)
{
Bitmap bitMapImage = new Bitmap(item);
}
GetFileName
正在截断名称的完整路径,例如D:\Folder\234324234\1.png
到1.png
。当你删除这样的路径时,它最有可能尝试通过进程的当前工作目录加载映像。
我还会考虑使用过滤器中的overload of GetFiles
。
现在您的代码正在提取所有文件,包括可能不是图像的隐藏文件,如Thumbs.db文件或desktop.ini文件 - Windows资源管理器内部用于存储有关目录的元数据的文件。 / p>