【问题标题】:Displaying WriteableBitmap in Image in C# Visual Studio 2017在 C# Visual Studio 2017 中的图像中显示 WriteableBitmap
【发布时间】:2017-11-16 11:41:29
【问题描述】:

我正在使用 Visual Studio 2017。我有一个 WriteableBitmap,我想向用户显示。为此,我在MainWindow.xaml 中有这个组件:

<Image x:Name="FrameDisplayImage" Grid.Row="1" Stretch="Uniform"/>

现在我尝试在MainWindow.xaml.cs 中将图像分配给组件:

FrameDisplayImage.Source = this.colorBitmap;

这不起作用,错误是名称FrameDisplayImage在当前上下文中不可用。

我可能缺少 xaml 和 cs 之间的一些包含或连接 - 但我对 C# 完全陌生,无法让它工作。有人能指出我正确的方向吗?

【问题讨论】:

    标签: c# kinect writeablebitmap


    【解决方案1】:

    创建一个将位图转换为图像源的方法,然后您可以像这样在 wpf xaml 上显示它。

    FrameDisplayImage.Source = BitmapToImageSource(this.colorBitmap);
    
    BitmapImage BitmapToImageSource(Bitmap bitmap)
    {
        using (MemoryStream memory = new MemoryStream())
        {
            bitmap.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp);
            memory.Position = 0;
            BitmapImage bitmapimage = new BitmapImage();
            bitmapimage.BeginInit();
            bitmapimage.StreamSource = memory;
            bitmapimage.CacheOption = BitmapCacheOption.OnLoad;
            bitmapimage.EndInit();
    
            return bitmapimage;
        }
    }
    

    【讨论】:

    • 感谢您的回答,同时我发现代码确实有效,我只是在FrameDisplayImage 之前错过了一个this. - 尴尬...抱歉,因为没有删除问题,所以浪费了您的时间或自己发布答案...
    • @Christallkeks 没关系。很高兴您找到了解决方法
    猜你喜欢
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多