如何将位图源设置为Viewbox中包含的图像?

时间:2014-02-13 18:51:36

标签: wpf image xaml kinect

我添加了代码以从Kinect传感器获取视频流,并且它可以在一个带有图像控件的窗口中正常工作。

但是当我在新窗口中使用不同的xaml布局添加相同的实现时,feed没有显示,所以我猜测我设置xaml布局的方式存在问题。

有谁知道可能导致图片无法显示的原因? 是否存在导致此问题或可能导致我未使用的属性?

这就是我为相关类构建布局的方法:

<Window x:Class="BVversion1.ConditioningFrm"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ConStackPanelditioningFrm"  Height="377.612" Width="637.313">
    <Viewbox Stretch="Uniform" HorizontalAlignment="Center">
        <StackPanel Orientation="Vertical">
            <StackPanel Orientation="Horizontal">   
             <Button x:Name="pushUpBtn" Content="Push Ups" Width="100" Click="pushUpBtn_Click"/>
             <Button x:Name="burpeeBtn" Content="Burpee" Width="100" Click="burpeeBtn_Click"/>
             <Button x:Name="squatBtn" Content="Squat" Width="100" Click="squatBtn_Click"/>
             <Button x:Name="coreBtn" Content="Core" Width="100" Click="coreBtn_Click"/>    
            </StackPanel>
            <Image x:Name="KinectVideo" Width="640" Height="250" Visibility="Visible"/>
            <Button x:Name="homeBtn" Content="Home" Width="75" Click="homeBtn_Click"/>
        </StackPanel>
    </Viewbox>
</Window>

我将图像KinectVideo设置为位图的来源,如下所示:

KinectVideo.Source = BitmapSource.Create(colorFrame.Width, colorFrame.Height, 96, 96,
                    PixelFormats.Bgr32, null, colorData, colorFrame.Width * colorFrame.BytesPerPixel);

1 个答案:

答案 0 :(得分:0)

最后想到这一点,所有代码都很好,只是我复制并粘贴了视频源和页面加载的事件处理程序,这就是为什么它没有被触发。