Вниз
Скачать: CL | DM;

И снова Web-камера   Найти похожие ветки 

← →
Ozone ©   (2004-04-15 11:58) [0]

Инициализирую видео так:

hWndC := capCreateCaptureWindow("", WS_CHILD or WS_VISIBLE , 0, 0, 2*352, 2*258, aviPanel.Handle, nID);
//aviPanel : TPanel
capDriverConnect(hWndC, 0);
capFileSetCaptureFile(hWndC, PChar(aviFILE))
//aviFILE : string;


И делаю снимок

capCaptureSingleFrameOpen(hWndC)


И кладу его (снимок) в Stream как JPEG:

    BMP := TBitmap.Create;
    with BMP do begin
      try
        DC := GetWindowDC(hWndC);
        try
          GetWindowRect(hWndC, R);
          Width := 320;
          Height := 240;
          BitBlt(Canvas.Handle, 0, 0, Width, Height, DC, 0, 0, SRCCOPY);
        finally
          ReleaseDC(hWndC, DC);
        end;
        JPG:= TJPEGImage.Create;
        try
          with JPG do begin
            Grayscale := true;
            CompressionQuality := 10;
            Performance := jpBestSpeed;
            ProgressiveDisplay := False;
            PixelFormat := jf8Bit;
            BMP.Canvas.TextOut(0,0,DateTimeToStr(now));
            Assign(BMP);
           
            SaveToStream("");
          end;
         finally
           Jpg.Free;
         end;
      finally
         Free;
      end;
    end;


Проблема в том, что если эта панель (aviPanel) чем-то перекрыта, н-р, другим окном, то соответсвенно на снимке получается это самое окно. (ну про сворачивание я вообще молчу).

Вопросы:

1. Как можно сделать все это по людски?
2. Если установлено 2 камеры, то как без запуска стандартного диалога capDlgVideoSource, выьрать нужную камеру?

PS: Юзаю VfW.pas


← →
Ozone ©   (2004-04-15 12:25) [1]

В принципе, 1й вопрос можно решить тем, что сделать окно поверх всех и запретить минимизацию.

А вот 2й?


← →
Ozone ©   (2004-04-15 14:47) [2]

Куда делись усе мастера?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
9-1073226179
Zak3D[@Tm]
2004-01-04 17:22
2004.05.23
Создание игры.


14-1083567626
Белый волк
2004-05-03 11:00
2004.05.23
Правильное отображение кирилицы в консольном приложении Delphi


1-1083747384
Islander
2004-05-05 12:56
2004.05.23
Как преобразовать параметр сообщения WM_SETTEXT в строку?


3-1083251423
windows
2004-04-29 19:10
2004.05.23
русский язык в таблице


3-1083294873
kvit
2004-04-30 07:14
2004.05.23
Транзакция в АДО?




   Наверх