2010-02-18 3 views
0

Я использую SampleGrabber в DirectShow в Windows 7, я заметил, что код, предоставленный Microsoft и многими другими провайдерами, не работает, потому что заголовок Data Bitmap сообщает, что данные растровых изображений сжаты, однако новый битмап (ширина, высота, шаг, пиксельформат , scanlines) не имеет никаких параметров, чтобы указать, что буфер имеет сжатое изображение. Конечно, Bitmap не будет идентифицировать это.Как создать растровое изображение из (сжатого формата) Заголовок растровой информации и строки сканирования в WPF?

Тип носителя SampleGrabber дает заголовок Info-файла битма, который имеет сжатие, равное чему-то, и полученные данные меньше байтов, обозначенных заголовком информации растрового изображения.

Создание растрового изображения просто создает мусор всех сортов.

Похоже, что у меня есть заголовок и трассировка строк битмапа, но нет способа создать растровое изображение из (сжатого формата) заголовка и строк развертки битмапа в WPF.

Я попытался использовать CreateDIBSection и т. Д., Но GDI + не работает правильно в WPF, все возвращается к нулю, я также пытался инициализировать GDI и т. Д., Но не знаю, что делать сейчас.

ответ

0

Настройте тип носителя граббера (sampleGrabber.SetMediaType), который имеет свой подтип, определенный как RGB24.

Затем данные будут поступать как несжатые данные растрового изображения в вашем обратном вызове BufferCB.