Вниз
Скачать: 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.021 c
3-1082986711
VEN
2004-04-26 17:38
2004.05.23
Конвертация таблицы dbase III+ в Visual dBASE7


1-1084353607
andrey__
2004-05-12 13:20
2004.05.23
TServiceApplication - как завершить приложение


14-1083583183
ИМХО
2004-05-03 15:19
2004.05.23
Лоуренс Аравийский


1-1083750540
Alek_1
2004-05-05 13:49
2004.05.23
А как использовать DECIMALDIGITS?


3-1082960606
Forget
2004-04-26 10:23
2004.05.23
Объединение и модификация таблиц Paradox




   Наверх