<Image Width="640" Height="480" Name="ImageControl" Grid.Column="0" Grid.Row="1" />
<Canvas Width="620" Height="480" Name="myCanvas" Grid.Column="0" Grid.Row="1" >
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="10" Name="Circle1" Canvas.ZIndex="99" />
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="30" Name="Circle2" />
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="50" Name="Circle3" />
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="70" Name="Circle4" />
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="90" Name="Circle5" />
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="110" Name="Circle6" />
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="130" Name="Circle7" />
<Ellipse Width="10" Height="10" Fill="Red" Canvas.Left="610" Canvas.Top="150" Name="Circle8" />
</Canvas>
我在网格的同一个单元格中有一个图像和一个画布。这个想法是在图像上放置 8 个红色椭圆。图像当前没有来源,因为 Kinect 用于提供图像。当它第一次加载时,可以在一瞬间看到红色椭圆,直到图像加载,然后再看不到它们。
我试过改变元素的顺序,画布的 ZIndex ,网格的 ZIndex 都无济于事。
this.ImageControl.Source = BitmapSource.Create(
imageFrame.Width,
imageFrame.Height,
96,
96,
PixelFormats.Bgr32,
null,
this.pixelData,
stride);
这就是 Kinect 流图像分配给图像源的方式。