Webcam.

Iniciado por Abelhack, 11 Mayo 2007, 16:46 PM

0 Miembros y 1 Visitante están viendo este tema.

Abelhack

Hola Amigos:
  Estoy programando un programita sencillo , para capturar las imegenes de una cam para meter las imagenes en un access, para tener el control de usuarios. Podeis decirm si hay algún activex libre para poderlo utilizarlo?

ranslsad

Yo te puedo dejar un codigo para ver webcam y sacar foto..

Necesitas un timer, un pircturebow y 3 botones..
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hndw As Long) As Boolean

Private Const CONNECT As Long = 1034
Private Const DISCONNECT As Long = 1035
Private Const GET_FRAME As Long = 1084
Private Const COPY As Long = 1054

Private hWndCap As Long

Private Sub Command3_Click()
Call SavePicture(Picture1.Image, "C:\image.bmp")
End Sub

Private Sub START_WEBCAM_Button1_Click()
    hWndCap = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 160, 120, Me.hwnd, 0)
    DoEvents
    SendMessage hWndCap, CONNECT, 0, 0
    Timer1.Enabled = True
End Sub

Private Sub STOP_WEBCAM_Button2_Click()
    DoEvents: SendMessage hWndCap, DISCONNECT, 0, 0
    Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
    'Obtiene frames para Picture1
    SendMessage hWndCap, GET_FRAME, 0, 0
    SendMessage hWndCap, COPY, 0, 0
    Picture1.Picture = Clipboard.GetData
    Clipboard.Clear
End Sub

Private Sub Form_Load()
    Timer1.Enabled = False
    Timer1.Interval = 1
End Sub

Private Sub Form_Unload(Cancel As Integer)
    DestroyWindow hWndCap
End Sub

Espero que estiendas el codigo, es facil!!

Salu2

Ranslsad