private void Apagar() { try { btnSalvarFoto.Enabled = true; btnCapturar.Enabled = false; AForge.Video.DirectShow.FilterInfoCollection videosources = new AForge.Video.DirectShow.FilterInfoCollection(AForge.Video.DirectShow.FilterCategory.VideoInputDevice); if (videosources != null) { videoSource = new AForge.Video.DirectShow.VideoCaptureDevice(videosources[0].MonikerString); videoSource.NewFrame += (s, e) => picWebCam.Image = (Bitmap)e.Frame.Clone(); videoSource.SetCameraProperty( CameraControlProperty.Focus, 500, CameraControlFlags.Manual); videoSource.Start(); } } catch (Exception ex) { } }
private static void Main(string[] args) { Trace.Listeners.Add(new ConsoleTraceListener()); // enumerate video devices var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count > 0) { // create video source var videoSource = new VideoCaptureDevice( videoDevices[0].MonikerString); int maxCapabilitieIndex = videoSource.VideoCapabilities.Count() - 1; if (maxCapabilitieIndex > 0) { VideoCapabilities resolution = videoSource.VideoCapabilities[maxCapabilitieIndex]; videoSource.VideoResolution = resolution; videoSource.SetCameraProperty(CameraControlProperty.Exposure, +20, CameraControlFlags.Manual); // set NewFrame event handler videoSource.NewFrame += video_NewFrame; // start the video source videoSource.Start(); int count = 0; do { Thread.Sleep(100); } while (imageCount < 20); videoSource.SignalToStop(); } else { //no capabilities } } // ... }
void IAMMove(VideoCaptureDevice d, CameraControlProperty p, int i) { int v, minv, maxv, stepSize, defVal; CameraControlFlags f, cf; d.GetCameraProperty(p, out v, out f); d.GetCameraPropertyRange(p, out minv, out maxv, out stepSize, out defVal, out cf); int newv = v + i*stepSize; if (newv<minv) newv = minv; if (newv>maxv) newv = maxv; if (i == 0) newv = defVal; if (cf== CameraControlFlags.Manual) { d.SetCameraProperty(p, newv, CameraControlFlags.Manual); } else { MainForm.LogMessageToFile("Camera control flags are not manual"); } }