2016-06-20 6 views
0

キャプチャ後にCaptureElementを使用してWindows Phoneのモバイルアプリケーションから画像をキャプチャする必要があるソリューションを開発しています。ユーザーが画像をプレビューする必要があります。 [アップロード]ボタンをクリックし、このイメージ名とパスをデータベースに保存します。ユニバーサルウィンドウアプリケーションで最新のキャプチャ画像を取得する方法#

私はこのソースコードをキャプチャしてプレビューしますが、すべての画像を表示しています。

string fileName = "Image.jpg";// TextBox 
     fileName = Path.GetFileName(fileName); 

     Windows.Storage.IStorageFile photo = 
      await Windows.Storage.KnownFolders.PicturesLibrary.CreateFileAsync 
      (fileName, Windows.Storage.CreationCollisionOption.GenerateUniqueName); 

     await mediaCapture.CapturePhotoToStorageFileAsync 
      (Windows.Media.MediaProperties.ImageEncodingProperties.CreateJpeg(), photo); 

     CaptureBtn.Visibility = Visibility.Collapsed; 
     ImageView.Visibility = Visibility.Visible; 
     previewElement.Visibility = Visibility.Collapsed; 
     UploadBtn.Visibility = Visibility.Visible; 
     CancelBtn.Visibility = Visibility.Visible; 


     //Here i am htrying to access file from SD card 
     // Get the Pictures library 
     Windows.Storage.StorageFolder picturesFolder = 
      Windows.Storage.KnownFolders.PicturesLibrary; 
     IReadOnlyList<StorageFolder> folders = 
      await picturesFolder.GetFoldersAsync(); 

     foreach (StorageFolder folder in folders) 
     { 
      // Get and process files in folder 
      IReadOnlyList<StorageFile> fileList = await folder.GetFilesAsync(); 
      foreach (StorageFile file in fileList) 
      { 
       Windows.UI.Xaml.Media.Imaging.BitmapImage bitmapImage = 
        new Windows.UI.Xaml.Media.Imaging.BitmapImage(); 

       // Open a stream for the selected file. 
       // The 'using' block ensures the stream is disposed 
       // after the image is loaded. 
       using (Windows.Storage.Streams.IRandomAccessStream fileStream = 
        await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) 
       { 
        if (file.DisplayName == fileName) 
        { 
         // Set the image source to the selected bitmap. 
         Windows.UI.Xaml.Media.Imaging.BitmapImage bitmapImages = 
          new Windows.UI.Xaml.Media.Imaging.BitmapImage(); 
         bitmapImages.SetSource(fileStream); 

         ImageView.Source = bitmapImages; 
        } 
       } 
      } 
     } 

どうすればいいですか?前もって感謝します。

答えて

0

私はあなたに適切なソリューションを理解している場合は簡単です:

string fileName = "Image.jpg";// TextBox 
    fileName = Path.GetFileName(fileName); 

    Windows.Storage.IStorageFile photo = 
     await Windows.Storage.KnownFolders.PicturesLibrary.CreateFileAsync 
     (fileName, Windows.Storage.CreationCollisionOption.GenerateUniqueName); 

    await mediaCapture.CapturePhotoToStorageFileAsync 
     (Windows.Media.MediaProperties.ImageEncodingProperties.CreateJpeg(), photo); 

    CaptureBtn.Visibility = Visibility.Collapsed; 
    ImageView.Visibility = Visibility.Visible; 
    previewElement.Visibility = Visibility.Collapsed; 
    UploadBtn.Visibility = Visibility.Visible; 
    CancelBtn.Visibility = Visibility.Visible; 

using (Windows.Storage.Streams.IRandomAccessStream fileStream = 
       await photo.OpenAsync(Windows.Storage.FileAccessMode.Read)) 
      { 
        // Set the image source to the selected bitmap. 
        Windows.UI.Xaml.Media.Imaging.BitmapImage bitmapImages = 
         new Windows.UI.Xaml.Media.Imaging.BitmapImage(); 
        bitmapImages.SetSource(fileStream); 

        ImageView.Source = bitmapImages; 
      } 
関連する問題