Вниз
Скачать: 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.02 c
1-1083926326
som
2004-05-07 14:38
2004.05.23
Import данных с MS Excel


14-1083704296
11111ffghfghfg
2004-05-05 00:58
2004.05.23
Зачем разработчики Делфи сделали TDAtaSource?


7-1081945141
ЁПРСТ
2004-04-14 16:19
2004.05.23
Как получить доступ к настройке панели управления?


3-1083182282
Курдль
2004-04-28 23:58
2004.05.23
Удаление записей из одной таблицы по ключам другой таблицы


3-1083259773
Mister
2004-04-29 21:29
2004.05.23
MySQL




   Наверх