Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/04/2005, 00:50
macape1102
Usuario no validado
 
Fecha de Ingreso: abril-2005
Mensajes: 57
Antigüedad: 20 años
Puntos: 0
esto es lo que hay que hacer para poder usar la camara en vb mi necesidad es tomar fotos de los alumnos que me guarde la foto con el nombre del numero de control del alumno y el codigo fue el siguiente

en un modulo poner el codigo siguiente
Public Declare Function Imagen Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function video 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

Public Auxiliar As Long

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

en un formulario:

Private Sub Command1_Click()
Image1.Visible = True
On Error Resume Next
'captura la imagen desde la webcan
Imagen Auxiliar1, GET_FRAME, 0, 0
'luego la copia al portapapeles
Imagen Auxiliar1, COPY, 0, 0
'posteriormente la pega en el picturebox utilizado
Image1.Picture = Clipboard.GetData
Picture2.Picture = Clipboard.GetData
'por ultimo limpia el picturebox
'Clipboard.Clear
Label2.Visible = True
Command2.Visible = True
Command3.Visible = True

End Sub

Private Sub Command2_Click()
ruta = "C:\" & Text1 & ".jpg"
On Error GoTo Fallo
X = GetAttr(ruta)
v = MsgBox("Ya se ha tomado una foto para este alumno, ¿Desea remplazarla?.", vbYesNo, "Precaución")
If v = vbYes Then
SavePicture Picture2, ruta
MsgBox "La foto a sido Guardada en " & ruta & " exitosamente."
Command3.Value = True
Else
End If
Exit Sub
Fallo:
SavePicture Picture2, ruta
MsgBox "La foto a sido Guardada en " & ruta & " exitosamente."
Command3.Value = True
End Sub

Private Sub Command3_Click()
Image1.Visible = False
Label2.Visible = False
Command2.Visible = False
Command3.Visible = False
End Sub

Private Sub Form_Load()
Auxiliar = video("WebcamCapture", 0, 0, 0, 160, 120, Me.hwnd, 0)
DoEvents: Imagen Auxiliar, CONNECT, 0, 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
DoEvents: Imagen Auxiliar, DISCONNECT, 0, 0
End Sub
Private Sub Timer1_Timer()
On Error Resume Next
'captura la imagen desde la webcan
Imagen Auxiliar, GET_FRAME, 0, 0
'luego la copia al portapapeles
Imagen Auxiliar, COPY, 0, 0
'posteriormente la pega en el picturebox utilizado
Picture1.Picture = Clipboard.GetData
'por ultimo limpia el picturebox
'Clipboard.Clear
End Sub

Nota: Inserte una Text1.txt que es donde pongo el nombre con la que voy a guardar la foto, dos picture una image y tres botones y un timer si tienen dudad pueden preguntar o mandarme un privado o un mail a [email protected] y les mando el proyecto