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 を実行しています。