我正在使用Windows SDK在kinect上做一个项目。我试图用以下代码在骨架肩上显示图像。 **
<Canvas Margin="250,0,0,0" Visibility="{Binding Path=Showcamera, Converter={StaticResource BVC}}" Background="Green" HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.Column="1" Grid.Row="1">
<Image MaxHeight="600" MaxWidth="950" x:Name="PART_KinectVideo" Visibility="{Binding Path=Showcamera, Converter={StaticResource BVC}}" />
<Canvas>
<Image RenderOptions.BitmapScalingMode="HighQuality" Visibility="{Binding Path=Showcamera, Converter={StaticResource BVC}}"
RenderOptions.EdgeMode="Aliased" Canvas.Top="60" Canvas.Left="350" Stretch="Uniform" x:Name="Jewel"/>
</Canvas>
var j1p = nui.MapSkeletonPointToDepth(closestSkeleton.Joints[JointType.ShoulderLeft].Position,DepthImageFormat.Resolution640x480Fps30);
Canvas.SetLeft(Jewel, j1p.X+90);
Canvas.SetTop(Jewel, j1p.Y-280);
通过获取j1p值我试图为Jewel图像对象设置画布的左上角位置。
代码问题是:
这未正确放置图像。当用户在屏幕中移动时,当用户移动时,图像也会沿着左右方向移出身体。
即使用户向右或向左移动,我也需要将图像设置到位置 我应该如何更改代码,或者是否有任何可用于将图像设置在kinect关节特定位置的样本?
答案 0 :(得分:0)
也许试试这个:
var left = (double)image.GetValue(Canvas.LeftProperty)
left += 90;
image.SetValue(Canvas.LeftProperty, left);
我使用该代码编写了一个应用程序,一切正常对我来说:)