私はこれを数日間調査してきましたが、成功していません。スタックオーバーフローが私の情報源の1つであるという他の質問を見ています。Kinect for Windows を使用して、ユーザーの関節を追跡し、別の「画面」にスケルトンを描画するプログラムを作成しています。既に関節自体をマッピングしており、画像 (赤い点) を使用して位置を示しています。マッピングされたジョイントの。
私の次のステップは、ある関節から別の関節に線を引くことによって骨格自体を構築することです.私が抱えている問題は、線を描く方法です...私は物事を複雑にしすぎる傾向があるので、私はただ作っているだけなのか疑問に思っています.最も簡単な解決策を見つけるだけではなく、自分にとって難しいこと。
99% は進んでいると感じていますが、まだ 1 つのエラーが発生していて、理解できません。エラー メッセージと関連する C# コードを以下で見つけてください。
"cannot convert from 'Microsoft.Kinect.SkeletonPoint' to 'System.Windows.Point"
コード:
private void DrawBone (Joint jointFrom, Joint jointTo)
{
Brush centerPointBrush;
Pen trackedBonePen = new Pen(Brushes.White, TrackedBoneThickness);
inferredBonePen = new Pen(Brushes.Gray, InferredBoneThickness);
DrawingVisual visual = new DrawingVisual();
DrawingContext context = visual.RenderOpen();
centerPointBrush = Brushes.Red;
if (jointFrom.TrackingState == JointTrackingState.NotTracked
|| jointTo.TrackingState == JointTrackingState.NotTracked)
{
return;
}
if (jointFrom.TrackingState == JointTrackingState.Inferred
|| jointTo.TrackingState == JointTrackingState.Inferred)
{
context.DrawLine(inferredBonePen,jointFrom.Position, jointTo.Position);
}
if (jointFrom.TrackingState == JointTrackingState.Tracked
|| jointTo.TrackingState == JointTrackingState.Tracked)
{
context.DrawLine(trackedBonePen, jointFrom.Position, jointTo.Position);
}
}
で始まる行に関連するエラー。context.DrawLine
これらは関数の引数が正しくないため、次DrawLine
の付随するエラーが発生します。
Error 4 The best overloaded method match for
'System.Windows.Media.DrawingContext.DrawLine(System.Windows.Media.Pen,
System.Windows.Point, System.Windows.Point)' has some invalid arguments