2012-03-14 17 views
2

PNG画像(580画像)だけのディレクトリがあります。 私はこの機能画像の読み込み/保存misorder

private List<Bitmap> images = new List<Bitmap>(); 

foreach (String s in Directory.GetFiles(@"frames\", "*.png")) 
    { 
     images.Add(new Bitmap(s)); 
    } 

しかし、私はこれでHDDへのすべての画像を保存しようとするとロードした後にメモリ内の画像を読み込む:

System.IO.Directory.CreateDirectory("result"); 
for (int i = 0; i < images.Count; i++) 
    { 
     images[i].Save(Application.StartupPath + "\\result\\img" + i + ".png", ImageFormat.Png); 
    } 

サムスの画像が間違った順序で保存されていることを、彼らはそれらをメモリにロードする前にあった。

何が問題なのですか?

+0

訪問は、 "C#の" と、このようなを使用してタイトルを接頭辞ないでください。それはタグのためのものです。 –

+0

注文が問題になるとき、私はstorklyとして 'foreach'を使用することを避けようとします。あなたが期待する順序で列挙を保証するものではありません。しかし、私はあなたの問題の原因であるかどうかはわかりません。 – remio

+1

元々、どんな尺度で注文されましたか?名前、内線、修正日、作成日...? – hatchet

答えて

2

ファイル名をソートする必要がある場合は、GetFilesがファイル名を返す順序が保証されていないため、手動で行う必要があります。

I.e.単にソート名前で:

foreach (String s in Directory.GetFiles(@"frames\", "*.png").OrderBy(t=>t)) 
{ 
... 
} 
関連する問題