private void RenderFrame(object sender, DoWorkEventArgs e) { ProcessFrameEventArgs args = (ProcessFrameEventArgs)e.Argument; ColorFrameReference reference = args.frame; using (ColorFrame frame = reference.AcquireFrame()) { if (frame != null) { //////Debug.WriteLine("Color frame arrived"); e.Result = new VFrame(frame); } } }
/// <summary> /// This is what gets called when a new Color Frame comes in /// </summary> private void Reader_FrameArrived(object sender, ColorFrameArrivedEventArgs e) { if (!isWorking) { isWorking = true; BackgroundWorker bw; //set up handlers bw = new BackgroundWorker(); bw.DoWork += RenderFrame; bw.RunWorkerCompleted += Render_Complete; ProcessFrameEventArgs args = new ProcessFrameEventArgs(); args.frame = e.FrameReference; bw.RunWorkerAsync(args); } }