如何在 C# 中使用默认网络摄像头拍照?

How to take a picture using the default webcam in C#?

我需要帮助来制作我的程序。我用 C# 开发了一个表单,它只有一个文本框和一个按钮,用于使用网络摄像头拍照并将其保存在指定的文件路径中。

所以我需要一种方法来启动网络摄像头,拍照并将其保存在文件路径中并立即关闭网络摄像头。不用看网络摄像头显示的内容,只需快速拍照并保存即可。

知道我该怎么做吗?欢迎所有评论。提前致谢。

Windows API访问网络摄像头的方法是原生的,但您可以使用众所周知的包装器:

首先,DirectShow.NET的DxSnap样本

Use DirectShow to take snapshots from the Still pin of a capture device. Note the MS encourages you to use WIA for this, but if you want to do in with DirectShow and C#, here's how.

与 Whosebug 相关:

  • Photo and video with webcam using DirectShowLib-2005
  • Capturing frames from webcam using DirectShow.NET
  • DirectShowLib - Can't take more than one picture with webcam. Got "Insufficient system resources exist to complete the requested service" error
  • DirectShow Library-How to capture image using directshow library without showing the webcam live images on the PictureBox or Panel
  • Capturing a photo on x86 Atom Windows 8, DirectShow

其次,媒体 Foundation.NET 包装媒体基础 API

  • 有关参考资料,请参阅 How to grab constant stream of bitmap images from webcam in c#

然后,其他库,最终包装上面提到的APIs(包括上面链接引用的)