2014-07-15 2 views
0

나는 1 초마다 스크린 샷을 찍고 모든 스크린 샷은 미디어 라이브러리에 저장되며 파일 이름은 1.jpg, 2.jpg, 3입니다. jpg ......... 등. 이제 라이브러리에서 이미지를 가져올 때 이미지가 무작위로 (1.jpg, 2.jpg, 3.jpg, 7.jpg, 13.jpg, 4.jpg, 15.jpg, 5.jpg) 순서대로 표시되지 않습니다. . 어떻게 sequence.here의 모든 이미지 내 코드순서대로 미디어 라이브러리에서 이미지 가져 오기

사용 (MediaLibrary mediaLibrary = 새로운 MediaLibrary())

{

PictureCollection AllScreenShot = mediaLibrary.Pictures; 
foreach (Picture picture in AllScreenShot) 
{ 
     using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 
      if (!storage.DirectoryExists("SavedImg")) 
         storage.CreateDirectory("SavedImg"); 

        if (storage.FileExists("SavedImg" + "\\" + picture.Name)) 
         storage.DeleteFile("SavedImg" + "\\" + picture.Name); 
        using (IsolatedStorageFileStream file = storage.CreateFile("SavedImg" + "\\" + picture.Name)) 
         picture.GetImage().CopyTo(file); 
     } 
} 

}

+2

모든 파일 이름 목록을 가져 와서 읽기 전에 정렬해야합니다. –

답변

0

이미지의 목록을 만드는 것입니다 얻을 수 있습니다 모든 이미지를 목록에 저장하십시오. 이 모양은 다음과 같습니다.

List<Image> listImage = new List<Image>(10); // say 10 

listImage.Add(your image Item) in your case its pic 1.jpg; // cast before adding 

List<Image> orderedList = listImage.OrderBy(k => k.ToString()).ToList(); 

실제로는 .ToString()이 아닙니다. 나는 그 개념을 분명히하기로 선언했다. Image의 경우 먼저 byte []로 변환 한 다음 byte []를 list에 저장하고 순서대로 OrderBy 옵션을 수행해야합니다.

관련 문제