Пример #1
0
        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)
            {
            }
        }
Пример #2
0
        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
                }
            }

            // ...
        }
Пример #3
0
        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");
            }
        }