public DrawingImage DrawSkeleton(SkeletonEventArgs jointPositions)
        {
            DrawingGroup drawingGroup = new DrawingGroup();
            DrawingImage image        = new DrawingImage(drawingGroup);

            var leftHand  = jointPositions.LeftHandPosition;
            var rightHand = jointPositions.RightHandPosition;

            using (DrawingContext dc = drawingGroup.Open())
            {
                dc.DrawRectangle(Brushes.Transparent, null, new Rect(0.0, 0.0, 640, 480));
                var actionPointsToDraw = ActionPoints.GetActionPoints();

                foreach (var actionPoint in actionPointsToDraw)
                {
                    dc.DrawEllipse(_actionPointBrush, null, new Point(actionPoint.X, actionPoint.Y), actionPoint.Radius,
                                   actionPoint.Radius);
                }

                if (leftHand != null && rightHand != null)
                {
                    dc.DrawEllipse(_rightHandBrush, null, PointToScreen(rightHand), HandCenterThickness, HandCenterThickness);
                    dc.DrawEllipse(_leftHandBrush, null, PointToScreen(leftHand), HandCenterThickness, HandCenterThickness);
                }
            }

            return(image);
        }
Esempio n. 2
0
 public PositionChecker(IKinectService kinectService)
 {
     _kinectService = kinectService;
     _kinectService.SkeletonUpdated += _kinectService_SkeletonUpdated;
     _actionPointsToCheck            = ActionPoints.GetActionPoints();
 }