我有一个团队计划正在进行中,我的职责是添加加载单个图像或(更有可能)图像文件夹的功能,并将它们保存起来,以便程序的其他方面能够访问它们。
以下是我的实际问题:
- 我需要一个关于如何显示
Open File
或Open Folder
对话框的示例。 - 将所有图像存储在文件夹中的最佳方式的示例。
注意:我最终需要显示这些图像,但这将是在程序的另一部分根据颜色重新排序它们之后。
可能是这样的:
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));
}
}
或打开文件:
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));
}