private void OnProcessed(Frame frame) { var result = (MotionProcessorResult)frame.ProcessorResult; if (result == null || Application.Current == null) { return; } Application.Current.Dispatcher.Invoke(() => { if (chkUpdatePlot.IsChecked.Value) { try { _chart.AddPoint(result.FrameIndex, result.ChangedPixelsCount); } catch { } } Activity.Add(new Point(result.FrameIndex, result.ChangedPixelsCount)); lblChangedPixels.Content = string.Format("Changed Pixels: {0:n0}", result.ChangedPixelsCount); }); }
public void AddPointsToChart(List <Point> points) { _activity = new List <Point>(points); _chart.Clear(); _activity.ForEach(p => _chart.AddPoint((int)p.X, (int)p.Y)); UpdateBoundsLabels(); }
public void AddPointsToChart(List <Point> points) { _activity = new List <Point>(points); _chart.Clear(); _activity.ForEach(p => _chart.AddPoint((int)p.X, (int)p.Y)); _chart.FrameMin = (int)_activity.Min(p => p.X); _chart.FrameMax = (int)_activity.Max(p => p.X); _chart.SetRange(_chart.FrameMin, _chart.FrameMax); UpdateBoundsLabels(); }