我将位图转换为bitmapsource时遇到问题,我写了类似http://www.codeproject.com/KB/WPF/BitmapToBitmapSource.aspx?msg=3590727的内容,但是我得到了异常:WindowsBase.dll中出现了'System.InvalidOperationException'类型的第一次机会异常:/我必须转换位图to bitmapsource,beacouse我使用aforge.net从摄像头获取电脑图像。你知道为什么我得到这个例外吗? (一切都很好用winforms)或者你知道库看起来与aforge有什么相似之处吗?我可以和WPF一起使用吗?
我的代码:
private void NewFrameHandler(Bitmap bitmap)
{
BitmapSource bitSrc = null;
var hBitmap = bitmap.GetHbitmap();
bitSrc = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
hBitmap,
IntPtr.Zero, Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
image1.Source = bitSrc;
}
答案 0 :(得分:0)
代码看起来不错,但你需要使用PInvoke方法DeleteObject来释放hbitmap使用的内存。
我能想到它失败的唯一原因是转换的位图有问题。