capturar imagenes

Iniciado por yalosabes, 22 Marzo 2006, 00:59 AM

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

yalosabes

Holas, el foro ta wenaso, sobre todo porke son de muxa ayuda, aky traigo otra duda, como hago para capturar las imagenes de mi camaara web?? , gracias :D

ranslsad

Ola amigo... aca te dejo un codigo.. no lo cree yo pero sirve y esta muy bien...

Creas dos botones llamados "START_WEBCAM_Button1" y "STOP_WEBCAM_Button2"   un timer y un picture box normal (no le cambies el nombre).


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 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


y para sacar fotos:

Creas un boton y lo dejas como esta o le cambnias el nombre como kieras, y en el Button Click pones este codigo:

Call SavePicture(picVideo.Image, "C:\image.bmp")
Donde dice picvideo.image el picvideo es el nombre del picturebox o el nombre donde se encuentre la imagen...

Espero que te sirva...

Salu2

Ranslsad