【问题标题】:Open Camera app installed from a UWP app and capture image打开从 UWP 应用安装的相机应用并捕获图像
【发布时间】:2017-02-08 02:57:15
【问题描述】:

我不想创建 Windows 内置相机 UI (CameraCaptureUI) 或使用自定义 MediaCapture 控件和捕获图片,而是希望打开设备中下载的任何相机应用来捕获图像并获取结果。

我用过

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

var uri = new Uri(uriToLaunch);

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

但这只是打开相机应用程序,我需要将结果文件返回到应用程序并保存。 有没有办法做到这一点?

【问题讨论】:

    标签: camera uwp


    【解决方案1】:

    你使用的方法:

    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。在这种情况下,用户必须单击 Share 按钮并选择您的应用作为目标。这将调用OnShareTargetActivated 事件,您可以在其中处理接收到的内容。

    【讨论】:

    • 这是JS还是C#?/
    • @JinsPeter 这是C#,但在JS中应该有类似的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 2018-04-09
    • 2017-08-28
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 2013-03-30
    相关资源
    最近更新 更多