/// <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)); }
/// <summary> /// 处理帧刷新事件。 /// </summary> /// <param name="e"></param> protected virtual void OnFrameRefresh(FrameRefreshEventArgs e) { if (this.FrameRefresh != null) { this.FrameRefresh(this, e); } }