需要引用AForge库文件,需要提前安装。在引用里面管理Nuget程序包;
先设计UI页面,设置好控件:
以下是程序Dome: (小白写的比较繁琐,大神勿喷)
using System.Windows.Forms;
using AForge.Video.DirectShow;
using System.IO;
using System.IO.IsolatedStorage;
using System.Threading;
namespace 相机的调用与拍照
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public FilterInfoCollection videoDevices;//所有摄像设备
public VideoCaptureDevice videoDevice;//摄像设备
string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "Picture";
private VideoCapabilities[] videoCapabilities;//摄像头分辨率
private void Form1_Load(object sender, EventArgs e)
{
if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);//得到机器所有接入的摄像设备
if (videoDevices.Count != 0)//读取到摄像设备
{
foreach (FilterInfo device in videoDevices)
{
com1_cam1.Items.Add(device.Name);//把摄像设备添加到摄像列表中
}
com1_cam1.SelectedIndex = 0;//默认选择第一个
//获取摄像头
videoDevice = new VideoCaptureDevice(videoDevices[com1_cam1.SelectedIndex].MonikerString);
GetDeviceResolution(videoDevice);//获得摄像头的分辨率
}
else
{
com1_cam1.Items.Add("没有找到摄像头");
}
EnableControlStatus(false);
btn_cat.Enabled = false;
}
private void 相机设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
VideoCaptureDevice Cam1;
FilterInfoCollection VideoCaptureDevices;
VideoCaptureDevic