vs2012 winform
連線攝像頭裝置,這裡需要引入
程式碼:
using AForge; using AForge.Controls; using AForge.Imaging; using AForge.Video; using AForge.Video.DirectShow;
在工具箱中還需要新增AForge.Control,然後找到VideoSourcePlayer這個控制元件新增到介面上
直接找到dll拖拽到工具箱就可以了(工具箱先建一個選項)
將在camera裡面出現很多控制元件,找到videoSourcePlayer,拖拽至form窗體
然後完成了基本設定
定義全域性變數
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 }
這樣就完成了拍照功能
效果圖