将位图图像转换为SourceImage

时间:2016-06-06 22:48:55

标签: c# wpf bitmap video-streaming

我正在使用一些代码来显示来自相机的实时视频。

在Windows窗体(C#)中,代码工作正常,但在WPF应用程序中我收到错误:

Bitmap img = (Bitmap)eventArgs.Frame.Clone();
Image.Source = img;

错误是:connot将System.Drawing.Bitmap转换为System.Wondows.Media.ImageSource。所以我使用以下代码转换了Bitmap图像:

public ImageSource imageSourceForImageControl(Bitmap BitmapImage)
{
ImageSourceConverter SourceImage = new ImageSourceConverter();
return (ImageSource)SourceImage.ConvertFrom(BitmapImage);
}

然后我得到了一个System.NullReferenceException

知道我该怎么办?

PS:我是C#应用程序的新手

1 个答案:

答案 0 :(得分:0)

我使用它已经有一段时间了,试试这个。

public ImageSource imageSourceForImageControl(Bitmap bitmap)
{
    using(MemoryStream memory = new MemoryStream())
    {
        bitmap.Save(memory, ImageFormat.Png);
        memory.Position = 0;
        BitmapImage bitmapImage = new BitmapImage();
        bitmapImage.BeginInit();
        bitmapImage.StreamSource = memory;
        bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
        bitmapImage.EndInit();
        return (ImageSource)bitmapImage;
    }
}