예제 #1
0
        /// <summary>
        /// 视频监控。
        /// </summary>
        /// <param name="capture">捕捉。</param>
        public void DoSurveillance(Object oCapture)
        {
            Capture capture = oCapture as Capture;
            int     id      = 1;

            if (capture == null)
            {
                throw new InvalidCaptureObjectException("传递的Capture类型无效。");
            }
            while (!shouldStop)
            {
                Image <Bgr, byte> frame = capture.QueryFrame();
                if (frame != null)
                {
                    FrameRefreshEventArgs e = new FrameRefreshEventArgs(frame.ToBitmap(), id++);
                    // 触发刷新事件
                    this.OnFrameRefresh(e);
                }
                else
                {
                    break;
                }
            }
            // 触发完成事件
            this.OnCompleted(new CompletedEventArgs(id));
        }
예제 #2
0
 /// <summary>
 /// 处理帧刷新事件。
 /// </summary>
 /// <param name="e"></param>
 protected virtual void OnFrameRefresh(FrameRefreshEventArgs e)
 {
     if (this.FrameRefresh != null)
     {
         this.FrameRefresh(this, e);
     }
 }