2016-03-24 7 views
0

В документе WP 8 я использовал PhotoCamera, чтобы сделать приложение камеры и сохранить изображение в рулон камеры я использовал этот метод:Как получить ImageStream из MediaCapture?

private void cam_CaptureImageAvailable(object sender, ContentReadyEventArgs e) 
{ 
    string fileName = "photo.jpg"; 
    MediaLibrary library = new MediaLibrary(); 
    library.SavePictureToCameraRoll(fileName, e.ImageStream); 
} 

В WPSL 8.1 я использую MediaCapture и я использую тот же стиль, чтобы сохранить изображение в камере но я не знаю, как получить ImageStream от MediaCapture как в e.ImageStream. Я открыт для предложений даже в другом стиле программирования для сохранения в ролике камеры.

ответ

0
 var file = await Windows.Storage.KnownFolders.PicturesLibrary.CreateFileAsync(IMAGECAPTURE_FILENAME, Windows.Storage.CreationCollisionOption.ReplaceExisting); 

     await _exceptionHandler.Run(async() => 
     { 
      await _mediaCapture.CapturePhotoToStorageFileAsync(_imageEncodingProperties, file); 
      var photoStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
      await bitmap.SetSourceAsync(photoStream); 
     }); 

Приведенное выше взято из приложения UWP, чтобы сохранить изображение на хранение, а затем прочитать его с диска в виде потока. Я никогда не мог захватить изображение непосредственно как поток.

+0

Хорошо, я понял. Но как я могу сохранить их в ролике камеры, например, как приложение, а не создавать свой собственный файл. – Mihai

+0

. Да, получите специальную папку из UWP, вы можете увидеть в моем примере, файл, который я создаю, сохраняется в Windows .Storage.KnownFolders.PicturesLibrary, которая является папкой с картинками. оттуда у вас не должно быть большой проблемы с поиском рулона камеры, который является подпапкой. –

+0

Я попробую ваш код, и я дам вам знать. Спасибо в совете @Pedro! – Mihai