void timer_Tick4(object sender, EventArgs e) { if (!isMovieAvi2) { if (currentFrameKosciec2 < allFrames2.Count) { SkeletonFrame frame = allFrames2[currentFrameKosciec2]; using (DrawingContext dc = this.drawingGroup2.Open()) { // czarne tło dc.DrawRectangle(Brushes.Black, null, new Rect(0.0, 0.0, kosciecVideoKosciec2.Width, kosciecVideoKosciec2.Height)); int bodyIndex = 0; foreach (int body in frame.getBodyIds()) { Pen drawPen = this.bodyColors[bodyIndex]; foreach (var bone in this.bones) { drawPen = this.bodyColors[bodyIndex]; if ((frame.getJoint(body, (int)bone.Item1).getTrackingState() != (int)CustomJoint.TrackingState.Tracked) || (frame.getJoint(body, (int)bone.Item2).getTrackingState() != (int)CustomJoint.TrackingState.Tracked)) { drawPen = this.inferredBonePen; } dc.DrawLine(drawPen, new Point(frame.getJoint(body, (int)bone.Item1).getX(), frame.getJoint(body, (int)bone.Item1).getY()), new Point(frame.getJoint(body, (int)bone.Item2).getX(), frame.getJoint(body, (int)bone.Item2).getY())); kosciecVideoKosciec2.Source = skeletonMovie2; } for (int CustomJointType = 0; CustomJointType < 25; ++CustomJointType) { Brush drawBrush = null; int trackingState = allFrames2[currentFrameKosciec2].getJoint(body, CustomJointType).getTrackingState(); if (trackingState == (int)CustomJoint.TrackingState.Tracked) { drawBrush = this.trackedJointBrush; } else if (trackingState == (int)CustomJoint.TrackingState.Inferred) { drawBrush = this.inferredJointBrush; } if (drawBrush != null) { dc.DrawEllipse(drawBrush, null, new Point(frame.getJoint(body, CustomJointType).getX(), frame.getJoint(body, CustomJointType).getY()), JointThickness, JointThickness); } } ++bodyIndex; } this.drawingGroup2.ClipGeometry = new RectangleGeometry(new Rect(0.0, 0.0, kosciecVideoKosciec2.Width, kosciecVideoKosciec2.Height)); framesKosciec2.Content = (currentFrameKosciec2 + 1).ToString() + " / " + allFrames2.Count.ToString(); sliderKosciec2.Value = currentFrameKosciec2; labelKosciec2.Content = String.Format("{0} / {1} s", string.Format("{0:F1}", (double)currentFrameKosciec2 / allFrames2.Count * (double)allFrames2.Count / framesPerSecond2), string.Format("{0:F1}", (double)allFrames2.Count / framesPerSecond2)); if (playKosciecMovie2) { currentFrameKosciec2++; } } } if (currentFrameKosciec2 == allFrames2.Count) { playKosciecMovie2 = false; } } }