Visual Basic - Guardar imagen de webcam en jpg

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Guardar imagen de webcam en jpg

Publicado por José R. (33 intervenciones) el 17/07/2007 21:05:19
Alguien me puede proporsionar un código para capturar desde webcam y esa guardarla en jpg... intento hacer un pequeño sistema de captura de alumnos con su foto... es para una escuela de bajos recursos, sin la intensión de lucrar.. gracias desde Culiacán, Sinaloa, México... DISCULPEN SOY PRINCIPIANTE
Baje este código de una web pero me ocaciona un error al querer guaradar

'----> CÓDIGO CAPTURA DE FOTOS CON WEBCAM <----
'Declaraciones:
Const ws_visible = &H10000000
Const ws_child = &H40000000
Const WM_USER = 1024
Const WM_CAP_EDIT_COPY = WM_USER + 30
Const wm_cap_driver_connect = WM_USER + 10
Const wm_cap_set_preview = WM_USER + 50
Const wm_cap_set_overlay = WM_USER + 51
Const WM_CAP_SET_PREVIEWRATE = WM_USER + 52
Const WM_CAP_SEQUENCE = WM_USER + 62
Const WM_CAP_SINGLE_FRAME_OPEN = WM_USER + 70
Const WM_CAP_SINGLE_FRAME_CLOSE = WM_USER + 71
Const WM_CAP_SINGLE_FRAME = WM_USER + 72
Const DRV_USER = &H4000
Const DVM_DIALOG = DRV_USER + 100
Const PREVIEWRATE = 30

Private 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
Private 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
Dim retval As Long
Dim loadStr As String
Dim hwndc As Long
'---->CAPTURAR LA IMAGEN DE LA CAM A JPEG<----
Private Declare Function DIWriteJpg Lib "DIjpg.dll" (ByVal DestPath As String, ByVal quality As Long, ByVal progressive As Long) As Long

Private Sub Command2_Click()
'Código que realiza la captura de la imagen:
temp = SendMessage(hwndc, WM_CAP_EDIT_COPY, 1, 0)
Set Picture4.Picture = Clipboard.GetData

'Initialize input path
loadStr = App.Path & "\foto.jpg"

'Required by DIjpg.dll
SavePicture Picture4.Image, "C:\tmp.bmp"

'Save to JPEG
retval = DIWriteJpg(loadStr, hshQual.Value, chkProg.Value) 'AQUI ES EL ERROR... QUE SE REQUIERE UN OBJETO

If retval = 1 Then 'Success
Picture4.Picture = LoadPicture(loadStr)
Else 'An error occured
MsgBox "DIWriteJpg did not succeed"
End If

'Remove temporary file
Kill "C:\tmp.bmp"
End Sub

Private Sub hshQual_Change()
txtQual.Text = Str(hshQual.Value)
End Sub
' Fin de la Captura
Private Sub Command1_Click()
'Código que realiza la captura de la imagen:

temp = SendMessage(hwndc, WM_CAP_EDIT_COPY, 1, 0)
Set Picture2.Picture = Clipboard.GetData

End Sub
Private Sub Form_Load()
'Código que activa la captura de imágenes, se supone un formulario con 2 picture llamados "picture2" y "picture3")

hwndc = capCreateCaptureWindow("Ventana de Captura", ws_child Or ws_visible, 0, 0, Picture3.Width, Picture3.Height, Picture3.hwnd, 0)
If (hwndc <> 0) Then
temp = SendMessage(hwndc, wm_cap_driver_connect, 0, 0)
temp = SendMessage(hwndc, wm_cap_set_preview, 1, 0)
temp = SendMessage(hwndc, WM_CAP_SET_PREVIEWRATE, PREVIEWRATE, 0)
End If

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder