/// <summary>
        /// Initialize template data
        /// </summary>
        private void InitTemplateData()
        {
            if (templateList != null)
            {
                return;
            }
            List <MLJoint> mlJointList = new List <MLJoint>();
            Bitmap         bitmap      = BitmapFactory.DecodeResource(Resources, Resource.Drawable.skeleton_template);

            for (int i = 0; i < TMP_SKELETONS.GetLength(0); i++)
            {
                MLJoint mlJoint = new MLJoint(bitmap.Width * TMP_SKELETONS[i, 0],
                                              bitmap.Height * TMP_SKELETONS[i, 1], (int)TMP_SKELETONS[i, 2], TMP_SKELETONS[i, 3]);
                mlJointList.Add(mlJoint);
            }

            templateList = new List <MLSkeleton>();
            templateList.Add(new MLSkeleton(mlJointList));
        }
Пример #2
0
        private Path GetPath(MLJoint point1, MLJoint point2)
        {
            if (point1 == null || point2 == null)
            {
                return(null);
            }
            if (point1.PointX == 0f && point1.PointY == 0f)
            {
                return(null);
            }
            if (point2.PointX == 0f && point2.PointY == 0f)
            {
                return(null);
            }
            Path path = new Path();

            path.MoveTo(TranslateX(point1.PointX),
                        TranslateY(point1.PointY));
            path.LineTo(TranslateX(point2.PointX), TranslateY(point2.PointY));

            return(path);
        }