Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Webcam
Forum - Visual Basic 6 - Webcam

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 22:23
Mercoledì, 11/03/2009
Questo topic è stato chiuso dal moderatore

Salve, a me mi servirebbe il vostro utilissimo aiuto per risolvere un probleme che non e proprio da poco (almeno per me). Io avrei bisognio di far apparire in un picturebox l'immagine diuna Webcam (USB). Come inserire l'immagine lo so fare, ma come ricevere i dati con VB6 non saprei proprio!. Potete aiutarmi?:-?:asd:

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:28
Giovedì, 12/03/2009
metti una picturebox(chiamala picture1) nel progetto e...
in un modulo:
Codice sorgente - presumibilmente VB.NET

  1. Global Const ws_child As Long = &H40000000
  2. Global Const ws_visible As Long = &H10000000
  3. Global Const WM_USER = 1024
  4. Global Const wm_cap_driver_connect = WM_USER + 10
  5. Global Const wm_cap_set_preview = WM_USER + 50
  6. Global Const WM_CAP_SET_PREVIEWRATE = WM_USER + 52
  7. Global Const WM_CAP_DRIVER_DISCONNECT As Long = WM_USER + 11
  8. Global Const WM_CAP_DLG_VIDEOFORMAT As Long = WM_USER + 41
  9. Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  10. Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal a As String, ByVal b As Long, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Long, ByVal h As Integer) As Long



Nel form inserisic queste sub:
Codice sorgente - presumibilmente VB.NET

  1. Dim hwdc As Long
  2. Dim startcap As Boolean
  3.  
  4. Private Sub Apri() 'Apre
  5. Dim temp As Long
  6. hwdc = capCreateCaptureWindow("Dixanta Vision System", ws_child Or ws_visible, 0, 0, 320, 240, Picture1.hWnd, 0)
  7. If (hwdc <> 0) Then
  8. temp = SendMessage(hwdc, wm_cap_driver_connect, 0, 0)
  9. temp = SendMessage(hwdc, wm_cap_set_preview, 1, 0)
  10. temp = SendMessage(hwdc, WM_CAP_SET_PREVIEWRATE, 30, 0)
  11. startcap = True
  12. Else
  13. MsgBox ("No Webcam found")
  14. End If
  15. End Sub
  16.  
  17. Private Sub Chiudi() 'chiude
  18. Dim temp As Long
  19. If startcap = True Then
  20. temp = SendMessage(hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
  21. startcap = False
  22. End If
  23. End Sub
  24.  
  25. Private Sub VideoFormat() 'formato video
  26. Dim temp As Long
  27. If startcap = True Then
  28. temp = SendMessage(hwdc, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
  29. End If
  30. End Sub


Per far apparire l'immagine catturata basta che richiami la sub Apri

PM
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 8:36
Venerdì, 13/03/2009
Io ho la Webcam (USB) connessa. E ho compilato il programma come mi avete detto. Ma nella Picture si presenta solo un rettangolo nero; Puoi essere la Webcam che non funziona bene?

PM
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 10:42
Venerdì, 13/03/2009
per vedere se la webcam funziona ti conviene provarla con dei programmi sicuramente funzionanti...tipo la videochiamata di msn o skype oppure (se c'è) con il programma che ti viene dato insieme alla webcam

PM
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 9:54
Sabato, 14/03/2009
Else
MsgBox ("No Webcam found")
End If

leggendo questo ho capito che se la Webcam non e conessa mi dovrebbe avertire; e invece, anche con la vebcam sconessa, mi disegna il rettangolo nero!Forse il rettangolo nero non e neanche l'immagine della Webcam!?

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 10:14
Sabato, 14/03/2009
purtroppo io non dispongo di una webcam anche se avevo fatto un progetto che la usava e a un mio amico questo codice funzionava... mmm...rivedrò meglio il progetto ora non posso. Intanto googla un pò che il materiale si trova...ad esempio:
http://www.vb-helper.com/howto_video_capture.html
http://www.codeproject.com/KB/vb/webcamcapture.aspx
ecc..

PM
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 11:39
Sabato, 14/03/2009
Il codice funziona regolarmente.

Il messaggio non e' corretto ... se quella API fallisce non e' perche' non c'e' la webcam ma per altri motivi.

PM
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 12:56
Sabato, 14/03/2009
OK! grazie del informazione, penyandoci sara la Webcam che non funziona. Passero l'exe a un amicho! E si vedra:asd:.
Pero un altra cosa mi turba!:
Perche alla picture che ho aplicato il codice il comando ".Cls"  (per pulirla) non fa alcun efetto?

Forse la libreria ripete l' inmagine sequenzialmente restituendomi gia il filmato? (e quindi rinnova la foto subito doo la pulitura?):-?:-?:-?

PM
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 13:14
Sabato, 14/03/2009
E' normale ...

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo