我正在List<Image>
从大约 250 张图像的文件夹中加载一个。我做了一个 DateTime 比较,加载这 250 张图像需要整整 11 秒。这太慢了,我非常想加快速度。
这些图像在我的本地硬盘上,甚至不是外部硬盘。
编码:
DialogResult dr = imageFolderBrowser.ShowDialog();
if(dr == DialogResult.OK) {
DateTime start = DateTime.Now;
//Get all images in the folder and place them in a List<>
files = Directory.GetFiles(imageFolderBrowser.SelectedPath);
foreach(string file in files) {
sourceImages.Add(Image.FromFile(file));
}
DateTime end = DateTime.Now;
timeLabel.Text = end.Subtract(start).TotalMilliseconds.ToString();
}
编辑:是的,我需要所有的图片。我的计划是取每个中心的 30 个像素列,并从中制作一个新图像。有点像360度全景。只是现在,我只是用随机图像进行测试。
我知道可能有更好的框架可以做到这一点,但我首先需要它。
EDIT2:切换到秒表,差异只有几毫秒。还用 Directory.EnumerateFiles 尝试过,但完全没有区别。
EDIT3:我在 32 位 Win7 客户端上运行 .NET 4。