// fastloadimg.cs using System; using System.Diagnostics; using System.IO; using System.Drawing; class FastLoadImage { static void Main() { string dir = @"C:\jpgs"; string[] jpgFiles = Directory.GetFiles(dir, "*.jpg"); Stopwatch sw; // 画像データの検証をオフにしてロード sw = Stopwatch.StartNew(); foreach (string jpg in jpgFiles) { using (FileStream fs = File.OpenRead(jpg)) using (Image img = Image.FromStream(fs, false, false)) { Console.WriteLine("{0} : {1} x {2}", jpg, img.Width, img.Height); } } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds + "ミリ秒"); // 出力例: // C:\jpgs\IMG_0001.jpg : 3456 x 2304 // C:\jpgs\IMG_0002.jpg : 3456 x 2304 // ……省略…… // C:\jpgs\IMG_0199.jpg : 3456 x 2304 // C:\jpgs\IMG_0200.jpg : 3456 x 2304 // 651ミリ秒 // Image.FromFileメソッドによるロード sw = Stopwatch.StartNew(); foreach (string jpg in jpgFiles) { using (Image img = Image.FromFile(jpg)) { Console.WriteLine("{0} : {1} x {2}", jpg, img.Width, img.Height); } } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds + "ミリ秒"); // 出力例: // C:\jpgs\IMG_0001.jpg : 3456 x 2304 // C:\jpgs\IMG_0002.jpg : 3456 x 2304 // ……省略…… // C:\jpgs\IMG_0199.jpg : 3456 x 2304 // C:\jpgs\IMG_0200.jpg : 3456 x 2304 // 60069ミリ秒 } } // コンパイル方法:csc fastloadimg.cs