![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюки в DirectShow [D6, Win2k]
Noname_ © (2002-12-03 10:20:00)Когда вызываю метод ISampleGrabber.GetCurrentBuffer(), получаю битмап перевернутым и с покареженным цветом. Кто-нибудь сталкивался с таким и как выкрутиться?
Noname_ (2002-12-03 16:20:00) [1]А как изменить настройки на пине? У меня сейчас установлено через ISampleGrabber.SetConnectedMediaType(): MediaType.majortype:=MEDIATYPE_Video;
MediaType.subtype:=MEDIASUBTYPE_UYVY;
При этом изображение в окне вытянуто в 2 раза, а битмап покарежен. Если поменять MediaType.subtype:=MEDIASUBTYPE_RGB24; то в окне изображение также вытянуто плюс появляются артефакты(потому что реальное пространство цвета - UYVY), но битмап нормальный(вытянутый с артефактами).
pasha676 (2002-12-03 14:56:00) [2]Ну установи медиа тайп необходимый. Кстати возможно настройки надо (или можно) изменить не на грабере, а на пине который ведет к граберу.
Noname_ (2002-12-03 14:46:00) [3]Но еще один глюк. Когда я получаю свойства изображения при помощи метода ISampleGrabber.GetConnectedMediaType(), высота изображения выдается завышенной в два раза, т.е. при истинном размере изображения 320х240 выдает 320х480. И окно ActiveMovie, в котором отображается выход с фильтра захвата, тоже имеет размер 320х480 и изображение в нем растянуто в два раза по вертикали. Если я вызову диспетчер задач через Ctrl-Alt-Del, то изображение в окне становится нормальным, просто нижние 240 пикселов из 480 - черные. Что за бред?
Noname_ (2002-12-03 14:05:00) [4]2pasha676:
Все сработало! Спасибо!
pasha676 (2002-12-03 11:47:00) [5]У меня была такая фигня если некоректно построить граф фильтров.
Надо подобрать правильный фильтр который идет за ISampleGrabber. Тогда все становиться нормальным. Побалуйся в микрософтовском редакторе, подбери фильтр. Еще возможно не правильно подобраны настройки типа цветов в SampleGrabber (надо не RGB, а какой нибудь YUY например).