2017-02-08 10 views
0

Вместо того, чтобы создавать пользовательский интерфейс камеры (CameraCaptureUI) Windows или использовать пользовательский элемент управления и захвата изображения MediaCapture, я хочу открыть любое приложение камеры, загруженное на устройство, чтобы захватить изображение и получить результат.Приложение для открытой камеры, установленное из приложения UWP и захваченного изображения

Я использовал

string uriToLaunch = "microsoft.windows.camera:"; 

var uri = new Uri(uriToLaunch); 

var success = await Windows.System.Launcher.LaunchUriAsync(uri); 

Но это только открывает приложение камеры, мне нужно, чтобы получить файл результата обратно в приложение и сохранить его. Есть ли способ сделать это?

ответ

0

метод вы используете:

var success = await Windows.System.Launcher.LaunchUriAsync(uri); 

только открывает камеру по умолчанию, ничего больше, то результат будет булево с информацией, если приложение было успешно открыт, и ничего больше.

С CameraCaptureUI вам не нужно создавать камеру - это похоже на задачу, описанную вами. С линиями:

var captureUI = new CameraCaptureUI(); 
captureUI.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg; 
captureUI.PhotoSettings.CroppedSizeInPixels = new Size(200, 200); 

var photo = await captureUI.CaptureFileAsync(CameraCaptureUIMode.Photo); 

Вы только запускаете приложение для камеры, и ваше приложение ждет фото, которое вы можете продолжить или сохранить.

Если вы не хотите использовать его или implement own camera capture, вы можете подумать об обмене снимком, сделанным другим приложением. Это described well at app-to-app communication at MSDN. В этом случае пользователю необходимо щелкнуть . Вставьте ссылку и выберите свое приложение в качестве цели. Это вызовет событие OnShareTargetActivated, где вы можете обработать полученный контент.

+0

Это JS или C#?/ –

+0

@JinsPeter Это C#, но в JS должно быть что-то похожее. – Romasz

 Смежные вопросы

  • Нет связанных вопросов^_^