C# 使用AForge调用笔记本摄像头拍照

vs2012 winform
连接摄像头设备,这里需要引入
C# 使用AForge调用笔记本摄像头拍照_第1张图片
代码:

using AForge;
using AForge.Controls;
using AForge.Imaging;
using AForge.Video;
using AForge.Video.DirectShow;

在工具箱中还需要添加AForge.Control,然后找到VideoSourcePlayer这个控件添加到界面上
直接找到dll拖拽到工具箱就可以了(工具箱先建一个选项)
C# 使用AForge调用笔记本摄像头拍照_第2张图片
将在camera里面出现很多控件,找到videoSourcePlayer,拖拽至form窗体
C# 使用AForge调用笔记本摄像头拍照_第3张图片
然后完成了基本设置
定义全局变量
FilterInfoCollection videoDevices;
VideoCaptureDevice videoSource;
public int selectedDeviceIndex = 0;
然后连接摄像头

1 private void btn_getdevice_Click(object sender, EventArgs e)
2 {
3 videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
4 selectedDeviceIndex = 0;
5 videoSource = new VideoCaptureDevice(videoDevices[selectedDeviceIndex].MonikerString);//连接摄像头。
6 videoSource.VideoResolution = videoSource.VideoCapabilities[selectedDeviceIndex];
7 videoSourcePlayer1.VideoSource = videoSource;
8 // set NewFrame event handler
9 videoSourcePlayer1.Start();
10 }

拍照:

1 private void button1_Click(object sender, EventArgs e)
2 {
3 if (videoSource == null)
4 return;
5 Bitmap bitmap = videoSourcePlayer1.GetCurrentVideoFrame();
6 string fileName = “54250.jpg”;//DateTime.Now.ToString(“yyyy-MM-dd-HH-mm-ss-ff”) + “.jpg”;
7 bitmap.Save(@“E:\temp” + fileName, ImageFormat.Jpeg);
8 bitmap.Dispose();
9 }

这样就完成了拍照功能

为了方便使用,直接把用到的dll放在百度网盘上了,用的可以下。
链接: http://pan.baidu.com/s/1c10gIHU 密码: e8jj

你可能感兴趣的:(C#)