0

사진, 앨범과 관련된 하나의 응용 프로그램을 개발 중입니다. 내가하려는 것은 장치에서 모든 그림, 저장된 그림, 앨범, 카메라 롤을 선택하고 List<Image>에 저장하는 것입니다. 하나의 클래스 즉, MediaLibrary을 발견했지만 어떻게 이러한 이미지를 모두 선택하여 목록에 저장할 수 있는지 이해할 수 없습니다.장치의 모든 사진, 이미지, 저장된 사진 선택

다음과 같이 모든 사진을 목록에 추가 할 수 있습니까?

private void btnSearchImages_Click_1(object sender, RoutedEventArgs e) 
    { 
     MediaLibrary m = new MediaLibrary();    

     foreach (var r in m.Pictures) 
     { 
      Stream imageStream = r.GetImage(); 
      List<Image> lstImageFromMediaLibrary = new List<Image>(); 
      var imageToShow = new Image() 
      { 
       Source = PictureDecoder.DecodeJpeg(r.GetImage()) 
      }; 

      lstImageFromMediaLibrary.Add(imageToShow); 
     }   
    } 

내가 그것을 디버깅

, 나는 앨범 8 개 기본 이미지가있는 경우에도 아무런 이미지가, 거기를 찾을 수 없습니다. m.Pictures은 카운트 제로를 보여줍니다. 기기에서 모든 이미지를 선택하고 목록에 추가하려면 어떻게합니까?

답변

0

시도 : -

MediaLibrary m = new MediaLibrary();

foreach (var r in m.RootPictureAlbum.Pictures) 
    { 

    } 
0

내 목록에 내 모든 이미지가 있습니다. 방금 manifest에서 ID_CAP_MEDIALIB_PHOTO을 추가했습니다. (매니페스트는 Properties> WMAppManifest.xml> 기능에 있습니다.)

0

코드에서 한 가지 명백한 문제는 항상 각 반복마다 새 목록을 선언한다는 것입니다. 해야 할 일 :

private void btnSearchImages_Click_1(object sender, RoutedEventArgs e) 
{ 
    MediaLibrary m = new MediaLibrary();    

    List<Image> lstImageFromMediaLibrary = new List<Image>(); 

    foreach (var r in m.Pictures) 
    { 
     Stream imageStream = r.GetImage(); 

     var imageToShow = new Image() 
     { 
      Source = PictureDecoder.DecodeJpeg(r.GetImage()) 
     }; 

     lstImageFromMediaLibrary.Add(imageToShow); 
    }   
}