【发布时间】:2014-01-13 08:14:10
【问题描述】:
我不得不说,我对 VisualBasic 和 VisualStudio 非常陌生(我更熟悉 Java、android 和 web)。我刚刚找到了一个关于如何使用 VB 进行骨架跟踪的好教程。
在我的应用程序中,我有一个图片框(窗口的左半部分),其中显示了图像和骨架。另一半,我有一些标签,我想在其中显示骨骼关节的数值。
我已设法将值从shoulderright.X 分配给Label2,但它并非一直有效。它实际上仅在我构建应用程序后第一次运行时才有效。当我再次关闭并重新打开我的应用程序时,它显示“0”并保持不变。
这是我的代码:
If skeletons.Length <> 0 Then
For Each skel As Skeleton In skeletons
'Right Arm
Dim shoulderright As DepthImagePoint = kinz.MapSkeletonPointToDepth(skel.Joints(JointType.ShoulderRight).Position, DepthImageFormat.Resolution640x480Fps30)
Dim elbowright As DepthImagePoint = kinz.MapSkeletonPointToDepth(skel.Joints(JointType.ElbowRight).Position, DepthImageFormat.Resolution640x480Fps30)
Dim wristright As DepthImagePoint = kinz.MapSkeletonPointToDepth(skel.Joints(JointType.WristRight).Position, DepthImageFormat.Resolution640x480Fps30)
Dim handright As DepthImagePoint = kinz.MapSkeletonPointToDepth(skel.Joints(JointType.HandRight).Position, DepthImageFormat.Resolution640x480Fps30)
gfx.DrawLine(penz, New Point(shoulderright.X, shoulderright.Y), New Point(elbowright.X, elbowright.Y))
gfx.DrawLine(penz, New Point(elbowright.X, elbowright.Y), New Point(wristright.X, wristright.Y))
gfx.DrawLine(penz, New Point(wristright.X, wristright.Y), New Point(handright.X, handright.Y))
Label2.Text = shoulderright.X.ToString() //assigning the value to the Label
Label2.Update()
谁能建议我如何解决它?我尝试了很多变体,例如
Label2.Text = shoulderright.X.ToString
Label2.Update()
或者
Label2.Text = shoulderright.X.ToString()
谢谢。
【问题讨论】:
-
我讨厌成为“那个人”,但是您使用 Visual Basic 有什么特别的原因吗?我问的原因是因为如果您是 VB 和 Visual Studio 的新手并且需要为 Kinect 编程,您可能会发现自己更习惯使用 C#,它更...实际上非常...类似于 Java,一种语言你说你很舒服。还有一些关于用 C# 编写的 Kinect 的教程。
标签: vb.net visual-studio label kinect kinect-sdk