![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Настройка разрешения выводимой картинки [D6, WinXP]
denis24 © (2006-02-16 12:28:00)Подскажите пожалуста.
Через компоненты DSPack делаю захват изображения .
Перед этим пытаюсь настроить разрешение .
Var
hr : HRESULT;
pmt : PAMMediaType;
begin
hr := (FilterGraph as ICaptureGraphBuilder2).FindInterface(@PIN_CATEGORY_CAPTURE, @MEDIATYPE_Video, Filter as IBaseFilter, IID_IAMStreamConfig, pVideoStreamConfig);
if (hr <> NOERROR) Then raise Exception.Create('Unable create instance of IAMStreamConfig');
hr := pVideoStreamConfig.GetFormat(pmt);
if (hr <> NOERROR) Then
Begin
pVideoStreamConfig := Nil;
raise Exception.Create('Unable get stream video format');
End;
VIDEOINFOHEADER(pmt.pbFormat^).bmiHeader.biWidth := 640;
VIDEOINFOHEADER(pmt.pbFormat^).bmiHeader.biHeight := 480;
hr := pVideoStreamConfig.SetFormat(pmt^);
if (hr <> NOERROR) then raise Exception.Create('Unable set stream video format');
Если пытаюсь сделать увеличить разрешение до 800*600 или 1024*768
Ты выходит ошибка 'Unable set stream video format'
640*480 это упор?
Дмитрий Белькевич (2006-02-20 12:23:00) [1]IAMStreamConfig = interface(IUnknown)
['{C6E13340-30AC-11d0-A18C-00A0C9118956}']
(*** IAMStreamConfig methods ***)
function SetFormat(const pmt: TAMMediaType): HResult; stdcall;
function GetFormat(out ppmt: PAMMediaType): HResult; stdcall;
function GetNumberOfCapabilities(out piCount, piSize: Integer): HResult; stdcall;
function GetStreamCaps(iIndex: Integer; out ppmt: PAMMediaType;
out pSCC): HResult; stdcall;
end;
Последних два смотри. Afaik оно.
denis24 (2006-02-20 12:15:00) [2]А как этот список получить?
Дмитрий Белькевич (2006-02-18 21:17:00) [3]Всё зависит от захвата. Возможно, и не упор, но ты не попадаешь на нужный размер - например, 720х576. Другой режим, кроме как из списка поддерживаемых устройством установить нельзя.