过滤我们想要绘制的关节

时间:2013-07-17 13:38:08

标签: c# wpf drawing kinect

我和kinect一起玩,我想控制绘制人体的每个部位。 我制作了一个组合框,如:

  • 隐形左臂,
  • 看不见的右臂, ...

我将它与drawbone方法及其工作联系起来。现在,我尝试过滤掉隐藏在骨头上的关节,使它们看不见,我有这样的代码:

             foreach (Joint joint in skeleton.Joints)
         {
             Brush drawBrush= null;


             if (joint.TrackingState == JointTrackingState.Tracked)
             {
                 drawBrush = Brushes.Black;
             }
             else if (joint.TrackingState == JointTrackingState.Inferred){
             drawBrush = new SolidColorBrush(Color.Blue);
             }
             if (drawBrush != null)
             {
                 drawingContext.DrawEllipse(drawBrush, null,       this.SkeletonPoint(joint.Position), 20, 20);
             }
         }

我已尝试过位置

if (joint.Position == JointType.ShoulderLeft) { return; }

但错误

我试图以某种方式比较它,但我得到错误,因为我表现得像个盲童:/

thx任何建议

1 个答案:

答案 0 :(得分:1)

您将位置与没有意义的JointType进行比较。试着这样做:

if (joint.JointType == JointType.ShoulderLeft)

请记住,该位置指的是关节的空间位置,如here

而JointType指的是跟踪关节的“解剖名称”,如here