Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105

    [VB.NET] Come usare WM_CAP_GET_VIDEOFORMAT

    Salve a tutti, sto facendo un programma per catturare sequenze video da una webcam e volevo sapere come faccio a sapere la risoluzione che la webcam ha in quel momento, e in particolare visto che ho trovato il comando che dovrebbe fare al caso mio come si utilizza?
    il comando è il seguente: WM_CAP_GET_VIDEOFORMAT
    Ho letto sulla guida microsoft, ma quando lo uso nella maniera per cui dovrebbe ridarmi il numero di byte del formato, mi da sempre 0 anche se la fonte video è attiva (vedo la preview).

    grazie mille a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Dammi retta, per sapere/settare la risoluzione della webcam usa la funzione:

    codice:
    SendMessage(myHandle, WM_CAP_DLG_VIDEOFORMAT, 0, 0)
    in cui myHandle è l'handle della finestra di cattura video.
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Originariamente inviato da Pirelli72
    Dammi retta, per sapere/settare la risoluzione della webcam usa la funzione:

    codice:
    SendMessage(myHandle, WM_CAP_DLG_VIDEOFORMAT, 0, 0)
    in cui myHandle è l'handle della finestra di cattura video.
    Infatti lo uso, ma solo per far settare la risoluzione, ma non va bene per sapere le impostazioni settate, almeno per quello che c'è scritto sulla guida microsoft.
    Per questo uso c'è scritto di usare l'altro comando che ho citato prima.

    Però visto che tu mi dici così, vuol dire che lo hai usato no? quindi mi potresti dire come lo hai usato per sapere le impostazioni settate?

    grazie mille

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB.NET] Come usare WM_CAP_GET_VIDEOFORMAT

    Originariamente inviato da Adanf
    ma quando lo uso nella maniera per cui dovrebbe ridarmi il numero di byte del formato, mi da sempre 0 anche se la fonte video è attiva (vedo la preview).
    Come la usi?
    Mostra il codice.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105

    Re: Re: [VB.NET] Come usare WM_CAP_GET_VIDEOFORMAT

    Originariamente inviato da gibra
    Come la usi?
    Mostra il codice.
    Lo uso cosi, per vedere se funziona o no:
    codice:
    Label2.Text = SendMessage(hWnd, WM_CAP_GET_VIDEOFORMAT, 0, Nothing).ToString()
    Ma mi ritorna sempre 0, anche se al posto di nothing metto 0, non mi da mai il numero di byte.

    Perchè a me interessa sapere la risoluzione impostata in quel momento, ma non c'è un comando specifico(almeno credo).
    Quindi, boh non so più che fare.

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Re: Re: [VB.NET] Come usare WM_CAP_GET_VIDEOFORMAT

    Originariamente inviato da Adanf
    Lo uso cosi, per vedere se funziona o no:
    codice:
    Label2.Text = SendMessage(hWnd, WM_CAP_GET_VIDEOFORMAT, 0, Nothing).ToString()
    Usato così sarebbe un miracolo che funzionasse.

    Originariamente inviato da Adanf
    Quindi, boh non so più che fare.
    Puoi leggerti la guida che indica come usare il messaggio
    http://msdn.microsoft.com/en-us/library/dd743908(VS.85).aspx


  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105

    Re: Re: Re: Re: [VB.NET] Come usare WM_CAP_GET_VIDEOFORMAT

    Originariamente inviato da gibra
    Usato così sarebbe un miracolo che funzionasse.

    Puoi leggerti la guida che indica come usare il messaggio
    http://msdn.microsoft.com/en-us/library/dd743908(VS.85).aspx
    Io infatti l'ho letta, e visto che non so il numero di byte in teoria da quello che c'è scritto
    codice:
    psVideoFormat
    Pointer to a BITMAPINFO structure. You can also specify NULL to retrieve the number of bytes needed.
    se io metto un valore NULL (in vb il NULL DOVREBBE ESSERE IL Nothing, no?) nel parametro sopra mi dovrebbe restituire il size in byte, da mettere poi nel parametro wSize.
    O sbaglio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Originariamente inviato da Adanf
    Infatti lo uso, ma solo per far settare la risoluzione, ma non va bene per sapere le impostazioni settate, almeno per quello che c'è scritto sulla guida microsoft.
    Per questo uso c'è scritto di usare l'altro comando che ho citato prima.

    Però visto che tu mi dici così, vuol dire che lo hai usato no? quindi mi potresti dire come lo hai usato per sapere le impostazioni settate?

    grazie mille
    Posso sapere per quale motivo devi sapere la risoluzione ?
    Sbagliare è umano, perseverare è diabolico.

  9. #9
    Mostra la tua dichiarazione della SendMessage.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Originariamente inviato da Pirelli72
    Posso sapere per quale motivo devi sapere la risoluzione ?
    Perchè la preview è su una form separata e avendo aggiunto l'opzione "formato originale" quando uno ci clicca su, la finestra della preview deve avere le dimensioni selezionate nelle impostazioni della camera (quindi senza l'opzione WM_CAP_SET_SCALE).
    Senza di quello la picturebox e la form avrebbero delle dimensioni sballate rispetto al frame video

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.