【问题标题】:Take a photo in WPF using the default camera app in Windows 8使用 Windows 8 中的默认相机应用在 WPF 中拍照
【发布时间】:2014-08-27 12:59:44
【问题描述】:

我被要求在 vb.net 中开发一个软件,其中一个功能应该是可以在平板电脑上拍照。我已经玩过 MediaCapture API,它返回给我一张照片,但似乎无法在 ModernUI 应用程序之外显示预览或其他任何内容。这只是纯粹的照片捕捉。

我想了一会儿如何解决这个问题。那时我从我的安卓手机中得到了一些灵​​感。我的想法是调用某种 API 以在 ModernUI 模式下打开常规的 Windows 8 相机应用程序,让用户拍摄照片,然后通过“返回值”接收照片,就像您通常在 Android 应用程序中那样。

现在我的问题是,如果有办法启动 Windows 8 默认相机应用程序,让它拍照并将其接收回我的 WPF 桌面应用程序。

我也可以将我的软件开发为 ModernUI 应用程序,但我从来没有这样做过,而且看起来你必须在网上商店发布它,但我只想在我的公司内部使用它。

我的另一个(简单愚蠢的)想法是让用户自己打开相机应用程序,拍一些照片,然后再回到我的软件。然后我可以从它们存储的文件夹中接收图像。我想这也可以,但我不太喜欢这个想法,因为它不是很直观而且看起来很愚蠢。

如果你有一个想法(或替代方案),如果你能与我分享,我会非常高兴。

提前致谢!

【问题讨论】:

    标签: wpf vb.net windows-8 modern-ui


    【解决方案1】:

    很遗憾,没有 .NET 类可让您访问计算机上的网络摄像头或集成摄像头。这意味着您必须查看本机 Windows API 并从您的应用程序中调用它。我无法为您指出必须使用的正确方法,因为我只是使用 Microsoft Media Foundation 从网络摄像头捕获连续的图像流并将其编码为视频文件。

    有一些网站将这种原生功能封装在.NET类中,但不知道好不好:

    在 Windows 应用商店应用程序中,使用您提到的媒体捕获 API 可以相对轻松地执行此任务。如果您有 Windows 8 专业版或企业版,您还可以旁加载 Windows 应用商店应用程序 - 这样您就不必在 Windows 应用商店中发布您的应用程序。

    如果您还有其他问题,请随时提出。

    【讨论】:

    • 非常感谢!不幸的是,这不是我所期望的。对于这么简单的事情,似乎相当复杂。至少有一种方法可以从我的 WPF 程序中启动默认相机应用程序吗?
    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多