Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И снова Web-камера [D7, WinXP]


Ozone ©   (2004-04-15 11:58:00) 

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

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 14:47:00) [1]

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


Ozone   (2004-04-15 12:25:00) [2]

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

А вот 2й?


Наверх

Титульная страница Поиск, карта сайта Написать письмо