/// <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)); }
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); }