好了,相當多的環顧四周,經過反覆試驗;我找到了解決方案。
當您調用NuiTransformSkeletonToDepthImage();您可以使用NUI_IMAGE_RESOLUTION枚舉指定Kinect分辨率。我相信價值觀是; 80x60,320x240,640x480,1280x960
根據您決定使用的分辨率;您需要將返回的x和y座標除以相應的分辨率。然後把這些乘以你的窗口大小,你應該在你的窗口中有座標。
我相信你也可以在創建Kinect傳感器接口的實例時指定分辨率。
例如,作爲我的解釋是不是太簡潔:
float x, y
const Vector4 fromPos = skeleton.SkeletonPositions[NUI_SKELETON_POSITION_HAND_RIGHT];
NuiTransformSkeletonToDepthImage(fromPos, &x, &y, NUI_IMAGE_RESOLUTION_320x240);
x = x * ((float)WINDOW_WIDTH/320.0f);
y = y * ((float)WINDOW_HEIGHT/240.0f);
任何問題;隨時提問。