我正在使用一些代码来显示来自相机的实时视频。
在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#应用程序的新手
答案 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;
}
}