Преобразовать растровое изображение в BitmapSource - PullRequest
1 голос
/ 25 февраля 2011

У меня проблема с преобразованием растрового изображения в bitmapsource, я пишу что-то вроде этого http://www.codeproject.com/KB/WPF/BitmapToBitmapSource.aspx?msg=3590727, но получаю исключения: в WindowsBase.dll возникло первое исключение типа System.InvalidOperationException: Растровое изображение в bitmapsource, потому что я использую 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;
}

1 Ответ

0 голосов
/ 26 февраля 2011

Код выглядит хорошо для меня, хотя вам нужно использовать метод Pinvoke DeleteObject, чтобы освободить память, используемую hbitmap.

Единственная причина, по которой я могу думать, что она не работает, заключается в том, что что-то не так срастровое изображение конвертируется.

...