Strona 1 z 1

Konfiguracja kamerki internetowej z poziomu aplikacji

Nowy postNapisane: sobota, 25 lipca 2009, 20:21
przez seweryn
Chciałbym umieścić w mojej aplikacji przycisk uruchamiający okno z ustawieniami kamerki.
Np. jeżeli uruchomię Windows Movie Maker i menu Plik->Przechwyć obraz wideo.. otwiera się okno w którym klikam Konfiguruj,a w następnym oknie Ustawienia kamery to wyświetla mi się okno o które mi chodzi:
kamera.jpg


Można jakoś odczytać co robi przycisk "Ustawienia kamery" albo w jakiś inny sposób zmieniać właściwości kamery?

Re: Konfiguracja kamerki internetowej z poziomu własnej aplikacj

Nowy postNapisane: niedziela, 26 lipca 2009, 21:04
przez seweryn
Nikt nie wie jak się za to zabrać? Sam nie umiem sobie z tym poradzić. Chciałbym to dorzucić do:
http://www.elektr.polsl.pl/wiem/index.p ... &Itemid=56

Re: Konfiguracja kamerki internetowej z poziomu własnej aplikacj

Nowy postNapisane: niedziela, 26 lipca 2009, 22:06
przez polymorphism
A TU zajrzałeś?

Re: Konfiguracja kamerki internetowej z poziomu własnej aplikacj

Nowy postNapisane: niedziela, 26 lipca 2009, 22:08
przez seweryn
Tylko że na dzień dobry funkcja:
Kod: Zaznacz cały
HWND hWndC = capCreateCaptureWindow (
      (LPSTR) "", // window name if pop-up
      WS_CHILD | WS_VISIBLE,       // window style
      10, 10, 320, 240,              // window position and dimensions
      NULL,
      1);


zwraca mi NULL:(

Re: Konfiguracja kamerki internetowej z poziomu własnej aplikacj

Nowy postNapisane: poniedziałek, 27 lipca 2009, 10:27
przez seweryn
Zrobione:
Kod: Zaznacz cały
void __fastcall TmainForm::FormCreate(TObject *Sender)
{
   capture = cvCaptureFromCAM( CV_CAP_ANY );
   if( !capture ) Application->Terminate();

   cvNamedWindow( "Kamera_internetowa", CV_WINDOW_AUTOSIZE );

}
//---------------------------------------------------------------------------
void __fastcall TmainForm::FormDestroy(TObject *Sender)
{
   cvReleaseCapture( &capture );
   cvDestroyWindow( "Kamera_internetowa" );
}
//---------------------------------------------------------------------------
void __fastcall TmainForm::Timer1Timer(TObject *Sender)
{
   frame = cvQueryFrame( capture );
   cvShowImage( "Kamera_internetowa", frame );
}
//---------------------------------------------------------------------------
// Wyswietla okno z opcjami kamerki :)
void __fastcall TmainForm::ustawieniaButtonClick(TObject *Sender)
{
   CAPDRIVERCAPS CapDrvCaps;
   HWND hWndC=0;

   hWndC = capCreateCaptureWindow ((LPSTR) "",WS_CHILD | WS_VISIBLE,   0, 0, 0, 0,
      (HWND)cvGetWindowHandle( "Kamera_internetowa" ),1);

   if(capDriverConnect(hWndC, 0))
   {
      capDriverGetCaps(hWndC, &CapDrvCaps, sizeof (CAPDRIVERCAPS));
      // Video source dialog box.
      if (CapDrvCaps.fHasDlgVideoSource) capDlgVideoSource(hWndC);
   }

   capDriverDisconnect (hWndC);
}
//---------------------------------------------------------------------------