Пример #1
0
        /// <summary>
        /// Start the device for a frame grab, wait a bit and then return the result.
        /// This method MUST raise a CameraThumbnailProduced event, even in case of error.
        /// </summary>
        public void Run(object data)
        {
            log.DebugFormat("Starting {0} for thumbnail.", summary.Alias);

            device.FrameProduced += device_FrameProduced;
            device.FrameError    += device_FrameError;

            device.Start();

            waitHandle.WaitOne(timeout, false);

            lock (locker)
            {
                if (!cancelled)
                {
                    device.FrameProduced -= device_FrameProduced;
                    device.FrameError    -= device_FrameError;
                    device.Stop();
                }
            }

            if (CameraThumbnailProduced != null)
            {
                CameraThumbnailProduced(this, new CameraThumbnailProducedEventArgs(summary, image, imageDescriptor, hadError, cancelled));
            }
        }
Пример #2
0
        public void Start()
        {
            log.DebugFormat("Starting device {0}, {1}", summary.Alias, summary.Identifier);

            device.FrameProduced   += device_FrameProduced;
            device.FrameError      += device_FrameError;
            device.GrabbingStarted += device_GrabbingStarted;

            device.Start();
        }