【问题标题】:Converting Bitmap Image to SourceImage [duplicate]将位图图像转换为 SourceImage [重复]
【发布时间】:2016-06-06 22:48:55
【问题描述】:

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

在 Windows 窗体 (C#) 中代码运行良好,但在 WPF 应用程序中我收到错误:

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

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

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

然后我得到一个 System.NullReferenceException

知道我该怎么办吗??

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

【问题讨论】:

标签: c# wpf bitmap video-streaming


【解决方案1】:

我用了很长时间,试试这个。

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;
    }
}

【讨论】:

  • 我遇到了“System.InvalidOperationException”
  • 您是否在此方法中遇到错误?
  • 不,这个方法里面没有错误。例外来自这个范围 image.Source = imageSourceForImageControl(img);
猜你喜欢
  • 2019-05-29
  • 1970-01-01
  • 2013-11-30
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多