--------------------------------------------------------------------------------
Пожалуйста, подскажите кто-нибудь как работать с вебкамерой в Deplhi, какие компоненты нужны. Необходимо иметь возможность получить с вебкамеры как картинки, так и видео. Спасибо заранее за помощь.
Работа с вебкамерой
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Код: Выделить всё
const WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;
const WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;
const WM_CAP_SAVEDIB = WM_CAP_START + 25;
const WM_CAP_GRAB_FRAME = WM_CAP_START + 60;
const WM_CAP_SEQUENCE = WM_CAP_START + 62;
const WM_CAP_EDIT_COPY = WM_CAP_START + 30;
const WM_CAP_GRAB_FRAME_NOSTOP = WM_CAP_START + 40;
function capCreateCaptureWindowA(lpszWindowName : PCHAR;
dwStyle : longint;
x : integer;
y : integer;
nWidth : integer;
nHeight : integer;
ParentWin : HWND;
nId : integer): HWND;
STDCALL EXTERNAL 'AVICAP32.DLL';
...... Bla-Bla-Bla-Bla-Bla-Bla-Bla ......
hWndC := capCreateCaptureWindowA('My Own Capture Window',
WS_CHILD or WS_VISIBLE ,
Panel.Left,
Panel.Top,
Panel.Width,
Panel.Height,
YourForm.Handle,
0);
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0);
SendMessage(hWndC, WM_CAP_EDIT_COPY, 0, 0);
b := TBitmap.Create;
b.LoadFromClipBoardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
Создает окно захвата. Все общение с драйвером происходит на уровне сообщений окна. Результат перекидывается через клипборд.
It's a long way to the top if you wanna rock'n'roll
Есть функция сохранения картинки сразу в BMP-файл, безо всяких клипбордов:somewhere писал(а):Простейший захват картинки с видеокамеры, используя виндовый Capture driver.
Создает окно захвата. Все общение с драйвером происходит на уровне сообщений окна. Результат перекидывается через клипборд.
capFileSaveDIB
А в файл его никто не сохранял. В примере он в памяти, никаких файлов не создает. Можно конечно через CallBack функции пойти, чтобы клипборд не трогать - но это уже примером не назовешь :-)" писал(а):Есть функция сохранения картинки сразу в BMP-файл, безо всяких клипбордов:
It's a long way to the top if you wanna rock'n'roll
Я подразумевал, что раз ты тягаешь картинку с видеокамеры, то, скорее всего, тебе захочется ее сохранить где-нибудь на диске. Тогда capFileSaveDIB как раз, на мой взгляд, очень удобна.somewhere писал(а):А в файл его никто не сохранял. В примере он в памяти, никаких файлов не создает. Можно конечно через CallBack функции пойти, чтобы клипборд не трогать - но это уже примером не назовешь :-)
-
- Сообщения: 3
- Зарегистрирован: 25 фев 2007, 22:30
Спасибо за помощь, друзья!!!