首先在NuGet中,下载AForge包.
![在这里插入图片描述](https://img-blog.csdnimg.cn/a42f27f98c2248c3a10be96ecf58b31a.png)
把这些都添加进项目中。
1.命名空间和公共属性
using AForge.Video.DirectShow;
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
private FilterInfoCollection _videoDevices;//摄像设备
private VideoCaptureDevice _videoCapture; //捕获设备源
private Bitmap bitmap;//处理图片
2.窗体中添加VideoSourcePlayer和PictureBox,一是调用摄像头,二是点击拍照的时候获取图像呈现在PictureBox中.
![在这里插入图片描述](https://img-blog.csdnimg.cn/d692021252da4e9ca571f269f2864432.png)
3.添加一个ComboBox,获取连接的摄像设备,进行选择设备操作。
![在这里插入图片描述](https://img-blog.csdnimg.cn/30d470a145ce4b598c9dfe4e44e807e2.png)
选择ComboBox的SelectedIndexChanged事件
在事件操作时先把相机资源释放(要不在选择别的相机时,相机资源还在占用!)
ShutCamera();
CameraConn();
![在这里插入图片描述](https://img-blog.csdnimg.cn/45a2136c7b914d19b6e558d54c433c51.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e79f0b5c924149d0b0fd5081aad899fd.png)
4,这个时候运行程序,就已经可以选择设备和调用摄像头了,
拍摄按钮
![在这里插入图片描述](https://img-blog.csdnimg.cn/6cae450f0ae04e6e9b212e725b0b1e63.png)
保存图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/4e3f1cacf6294a2bbbb245a5fed998cf.png)
5.在关闭窗体的时候,释放相机资源。。
大功告成!!!,哪里不对的话、欢迎讨论。。
效果图
![在这里插入图片描述](https://img-blog.csdnimg.cn/6ce9057da4114c8185fdc8e4b927b825.png)