2012-03-14 3 views
2

PNG 이미지 (580 이미지)로만 된 디렉토리가 있습니다. 나는이와 하드 디스크에있는 모든 이미지를 저장하려고하면 나는이 기능이미지로드/저장 오류 주문

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

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

로하지만로드 한 후 메모리에 이미지를로드 :

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

Somes합니다 이미지가 잘못된 순서로 저장됩니다 그들이 그들을 메모리에로드하기 전에있었습니다.

무슨 문제 일 수 있습니까?

+0

는 "C 번호"등으로 제목을 접두사하지 마십시오. 그것이 바로 태그입니다. –

+0

주문이 중요 할 때 storkly로 'foreach'를 사용하는 것을 피하려고합니다. 예상 한 순서대로 열거를 보장하지 않습니다. 그러나 이것이 문제의 원인인지 확신 할 수 없습니다. – remio

+1

원래 어떤 측정 단위로 주문 했나요? 이름, 내선 번호, 수정 된 날짜, 생성 날짜 ...? – hatchet

답변

2

파일 이름을 정렬해야하는 경우 GetFiles가 파일 이름을 반환하는 순서가 보장되지 않으므로 수동으로 수행해야합니다.

e.e. 단순히 종류의 이름으로 :

foreach (String s in Directory.GetFiles(@"frames\", "*.png").OrderBy(t=>t)) 
{ 
... 
}