Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何加载和存储图像文件夹_C#_Image_List_Directory - Fatal编程技术网

C# 如何加载和存储图像文件夹

C# 如何加载和存储图像文件夹,c#,image,list,directory,C#,Image,List,Directory,我有一个团队计划正在进行中,我的部分是添加加载单个图像或(更可能)图像文件夹的功能,并保存它们,以便程序能够访问它们的其他方面 以下是我的实际问题: 我需要一个如何显示打开文件或打开文件夹对话框的示例 在文件夹中存储所有图像的最佳方式示例 注意:我将需要最终显示这些图像,但它将在程序的另一部分根据颜色重新排序它们之后 像这样的事情可能: Dictionary<string, Bitmap> images = new Dictionary<string, Bitmap&

我有一个团队计划正在进行中,我的部分是添加加载单个图像或(更可能)图像文件夹的功能,并保存它们,以便程序能够访问它们的其他方面

以下是我的实际问题:

  • 我需要一个如何显示
    打开文件
    打开文件夹
    对话框的示例
  • 在文件夹中存储所有图像的最佳方式示例

  • 注意:我将需要最终显示这些图像,但它将在程序的另一部分根据颜色重新排序它们之后

    像这样的事情可能:

         Dictionary<string, Bitmap> images = new Dictionary<string, Bitmap>();
    
            string[] extensions = new string[]{".BMP",".JPG",".GIF",".PNG"};
            var fd = new System.Windows.Forms.FolderBrowserDialog();
            if (fd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                foreach (var file in Directory.GetFiles(fd.SelectedPath).Where(f => extensions.Contains(Path.GetExtension(f).ToUpper())))
                {
                    images.Add(Path.GetFileNameWithoutExtension(file), new Bitmap(file));
                }
            }
    

    桌面应用程序还是web应用程序?ASP.NET还是MVC?到目前为止,我还没有遇到很多问题,甚至让C#工作并打开我的项目。但是在我开始之前,我想知道应该做些什么。我还没有测试它,但是看起来不错,但是上面的代码只接受文件夹,对吗?我一直在四处寻找,似乎打开文件或文件夹对话框不是一件容易的事情,所以可能只打开文件夹对话框就足够了。谢谢你,如果我有任何问题,我会在这里发布。好的,那么代码中的问题~foreach(Directory.GetFiles(fd.SelectedPath,*.png)中的var文件)~z~接受所有图像文件类型的正确方法是什么?没有真正好的方法可以做到这一点,但我已经用一种适合我的方法更新了答案:)谢谢,这可能不是最干净的代码,但它比我见过的其他示例更容易理解。
         var fd = new System.Windows.Forms.OpenFileDialog();
         fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG";
         if (fd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
         {
             images.Add(Path.GetFileNameWithoutExtension(fd.FileName,new Bitmap(fd.FileName));
         }