void Reader_MultiSourceFrameArrived(object sender, MultiSourceFrameArrivedEventArgs e) { var reference = e.FrameReference.AcquireFrame(); // Color using (var frame = reference.ColorFrameReference.AcquireFrame()) { if (frame != null) { viewer.Image = frame.ToBitmap(); } } // Body using (var frame = reference.BodyFrameReference.AcquireFrame()) { if (frame != null) { _currentBody = frame.Bodies().Closest(); if (_currentBody != null) { var recording_brush = Brushes.Green; var stopped_brush = Brushes.Red; var current_brush = _mode == RecordingMode.Started ? recording_brush : stopped_brush; double radius = 15; viewer.Clear(); viewer.DrawBody(_currentBody, radius, current_brush, radius, current_brush); if (_mode == RecordingMode.Started) { BodyWrapper pose = new BodyWrapper(); pose.Set(_currentBody, viewer.CoordinateMapper, Visualization.Color); string pose_json = JsonConvert.SerializeObject(pose); savedPose.Add(pose_json); } } else { viewer.Clear(); } } } }