3

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

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

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

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

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

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

提前致谢!

4

1 回答 1

2

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

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

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

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

于 2014-08-27T13:35:56.713 回答