
Tomando fotos con la webcam
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Re: Tomando fotos con la webcam
pasa lo mismo internamente no responde nada, externamente sip
Que es mejor que programar? creo que nada 
Atropellada pero aqui ando
I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ

Atropellada pero aqui ando

I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Re: Tomando fotos con la webcam
pasa lo mismo internamente no responde nada, externamente sip
no se si sera algo que este causando problema en el inicio de mi programa
no se si sera algo que este causando problema en el inicio de mi programa
Code: Select all | Expand
#include "FiveWin.ch"#include "taskpanel.ch"#include "OutLook.ch"#include "dtpicker.ch"#include "Ord.ch"#include "CdoSys.ch"#include "tdolphin.ch"#include "xbrowse.ch"#include "InKey.ch"#include "FastRepH.ch"#include "Slider.ch"#include "browseget.ch"#include "GIF.ch"//***************#pragma BEGINDUMP#include <windows.h>#include <hbapi.h>HB_FUNC( GETUSERDEFAULTUILANGUAGE ){ hb_retnl( GetUserDefaultUILanguage( ) ) ;}#pragma ENDDUMP#ifdef __XHARBOUR__ #define hb_CurDrive() CurDrive()#endif#define WS_3DLOOK 4#define CLR_HBROWN nRGB( 205, 192, 176 )#define CLR_NBLUE nRGB( 142, 171, 194 )#define HKEY_LOCAL_MACHINE 2147483650#define CLR_MSPURPLE RGB( 128, 57, 123 )#define CLR_MSRED RGB( 232, 17, 35 )#define CLR_MSGRAY RGB( 229, 229, 229 )#ifndef TRUE #define TRUE .T. #define FALSE .F.#endif#define D_WIDTH 4#define D_HEIGHT 13#define COLOR_BTNFACE 15REQUEST HB_LANG_ENREQUEST HB_LANG_ESREQUEST HB_LANG_ITREQUEST HB_LANG_DEREQUEST DBFCDX//---------------------------------------------------------------------------------------------static FIRST, lSeekWild := .t.static lShared := .T.static lPijama := .T.STATIC rNueva1,nLanguage,oWnd,MARCAS1,catego,oBtnOkKMA2,lenguita,lenguitasSTATIC rNueva2,oMenuSTATIC oSof,oDlgOP,cNombre,cNombreM,cNombreE,cVigencia1,cVigencia2,cNombreP,cVAR,VALORT,VALORTa,oBrw,negrow,cFile,cSeccion,cEntry,vDatoSTATIC oGet,oGet1,oGet2,oGet3,oGet4,cVige1,cVige2,n,oApp,oTmr,oBtnOkKMx,OBTNOKM,oBtnOkKM,oTaskPanel,oPanel,tipo,marcasSTATIC cTexto,cTexto1,oDlg,oClp,cIp,cIpx,oWnd2,XoBrw,oBjBLA,cantiX,Mentra10,Mentra11,oFr ,oQry,daty,colorix,finale,prutas,titulo,base,negro,lVar1STATIC bGrad := { | lInvert | If( ! lInvert, ; { { 1, nRGB( 255, 255, 255 ), nRGB( 230, 234, 239 ) } }, ; { { 1/3, nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ) }, ; { 2/3, nRGB( 255, 215, 84 ), nRGB( 255, 233, 162 ) } ; } ) }PROCEDURE MAIN()
Que es mejor que programar? creo que nada 
Atropellada pero aqui ando
I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ

Atropellada pero aqui ando

I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Re: Tomando fotos con la webcam
Prueba a cambiar la acción de este botón así:
@ 200, 360 BUTTON oBtn PROMPT "Opciones" OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ;
ACTION ( MsgInfo( oWC:hWnd ), MsgInfo( oWC:nDriver ), MsgInfo( oWC:lConnected ), MsgInfo( oWC:cWebCamDriver ) )
y dinos que te aparece
gracias
@ 200, 360 BUTTON oBtn PROMPT "Opciones" OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ;
ACTION ( MsgInfo( oWC:hWnd ), MsgInfo( oWC:nDriver ), MsgInfo( oWC:lConnected ), MsgInfo( oWC:cWebCamDriver ) )
y dinos que te aparece
gracias
Re: Tomando fotos con la webcam
pues primero sale un
nil
despues un
1
despues un
F
AL FINAL ESTO

Lo que no sale cuando lo ejecuto dentro de mi programa es este cuadro que pregunta cual dispositivo usar

nil
despues un
1
despues un
F
AL FINAL ESTO

Lo que no sale cuando lo ejecuto dentro de mi programa es este cuadro que pregunta cual dispositivo usar

Antonio Linares wrote:Prueba a cambiar la acción de este botón así:
@ 200, 360 BUTTON oBtn PROMPT "Opciones" OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ;
ACTION ( MsgInfo( oWC:hWnd ), MsgInfo( oWC:nDriver ), MsgInfo( oWC:lConnected ), MsgInfo( oWC:cWebCamDriver ) )
y dinos que te aparece
gracias
Que es mejor que programar? creo que nada 
Atropellada pero aqui ando
I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ

Atropellada pero aqui ando

I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Re: Tomando fotos con la webcam
Aida,
Prueba a modificar este método así y dime que te aparece:
Prueba a modificar este método así y dime que te aparece:
Code: Select all | Expand
METHOD CreateWnd( oWnd1, nTop, nLeft, nWidth, nHeight, nStyle, cTitle ) CLASS tWebCamPhoto DEFAULT nTop := 0, ; nLeft := 0, ; nWidth := 160, ; nHeight := 120 DEFAULT nStyle := nOr( WS_VISIBLE, WS_CHILD, WS_BORDER ) IF ::nDriver > 0 ::hWnd := wCamCreaWnd( ::aDrivers[ ::nDriver ], nStyle, nLeft, nTop, nWidth, nHeight, oWnd1:hWnd, 0 ) MsgInfo( GetErrMsg(), Str( ::hWnd ) ) ENDIFreturn ::hWnd
Re: Tomando fotos con la webcam
Ahora sale este letrero y después sigue igual sin funcionar



Que es mejor que programar? creo que nada 
Atropellada pero aqui ando
I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ

Atropellada pero aqui ando

I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Re: Tomando fotos con la webcam
Aida:
Revisa los permisos de Windows de acceso a la cámara y tu aplicación.
Revisa los permisos de Windows de acceso a la cámara y tu aplicación.
Saludos / Regards,
FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Re: Tomando fotos con la webcam
Aida,
Comprueba que estes usando #include "struct.ch"
y dime si te aparece algún "warning" al compilar
Comprueba que estes usando #include "struct.ch"
y dime si te aparece algún "warning" al compilar
Re: Tomando fotos con la webcam
los permisos de windows están bien y si esta el struct.ch no sale ningún warning al compilar
usando photos.exe funciona muy bien
pero si lo integro a mi programa modelos.exe
y lo ejecuto desde mi aplicación photos()
ya no funciona, también use el ejemplo webcam y pasa lo mismo
por fuera funciona pero desde mi programa ya no
Creo que algo en mi programa es lo que causa el problema
si me salto todo mi programa y ante pongo el de photos tampoco funciona
usando photos.exe funciona muy bien
pero si lo integro a mi programa modelos.exe
y lo ejecuto desde mi aplicación photos()
ya no funciona, también use el ejemplo webcam y pasa lo mismo
por fuera funciona pero desde mi programa ya no

Creo que algo en mi programa es lo que causa el problema

si me salto todo mi programa y ante pongo el de photos tampoco funciona

Code: Select all | Expand
#include "FiveWin.ch"#include "taskpanel.ch"#include "OutLook.ch"#include "dtpicker.ch"#include "Ord.ch"#include "CdoSys.ch"#include "tdolphin.ch"#include "xbrowse.ch"#include "InKey.ch"#include "FastRepH.ch"#include "Slider.ch"#include "browseget.ch"#include "GIF.ch"#include "Struct.ch"//***************#pragma BEGINDUMP#include <windows.h>#include <hbapi.h>HB_FUNC( GETUSERDEFAULTUILANGUAGE ){ hb_retnl( GetUserDefaultUILanguage( ) ) ;}#pragma ENDDUMP#ifdef __XHARBOUR__ #define hb_CurDrive() CurDrive()#endif#define WS_3DLOOK 4#define CLR_HBROWN nRGB( 205, 192, 176 )#define CLR_NBLUE nRGB( 142, 171, 194 )#define HKEY_LOCAL_MACHINE 2147483650#define CLR_MSPURPLE RGB( 128, 57, 123 )#define CLR_MSRED RGB( 232, 17, 35 )#define CLR_MSGRAY RGB( 229, 229, 229 )#ifndef TRUE #define TRUE .T. #define FALSE .F.#endif#define D_WIDTH 4#define D_HEIGHT 13#define COLOR_BTNFACE 15REQUEST HB_LANG_ENREQUEST HB_LANG_ESREQUEST HB_LANG_ITREQUEST HB_LANG_DEREQUEST DBFCDX//---------------------------------------------------------------------------------------------static FIRST, lSeekWild := .t.static lShared := .T.static lPijama := .T.STATIC rNueva1,nLanguage,oWnd,MARCAS1,catego,oBtnOkKMA2,lenguita,lenguitasSTATIC rNueva2,oMenuSTATIC oSof,oDlgOP,cNombre,cNombreM,cNombreE,cVigencia1,cVigencia2,cNombreP,cVAR,VALORT,VALORTa,oBrw,negrow,cFile,cSeccion,cEntry,vDatoSTATIC oGet,oGet1,oGet2,oGet3,oGet4,cVige1,cVige2,n,oApp,oTmr,oBtnOkKMx,OBTNOKM,oBtnOkKM,oTaskPanel,oPanel,tipo,marcasSTATIC cTexto,cTexto1,oDlg,oClp,cIp,cIpx,oWnd2,XoBrw,oBjBLA,cantiX,Mentra10,Mentra11,oFr ,oQry,daty,colorix,finale,prutas,titulo,base,negro,lVar1STATIC bGrad := { | lInvert | If( ! lInvert, ; { { 1, nRGB( 255, 255, 255 ), nRGB( 230, 234, 239 ) } }, ; { { 1/3, nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ) }, ; { 2/3, nRGB( 255, 215, 84 ), nRGB( 255, 233, 162 ) } ; } ) }PROCEDURE MAIN()LOCAL aArray, nFor,cOnfi,cSeria,cName,ADATA,XX1,dFecha,cCadena,oCursor,oMenu2 LOCAL dFechaNueva,cURL,oHttp,cIpAddress,nCombo,XLK,titulin LOCAL cPassword := "xxxxx" local rNueva0:=rNueva0,cTequedan,colori,nogrande,cCrypt //,NUMPC LOCAL oSay1,oYn1 , cAlias := "CUST"FotoCamara()
Antonio Linares wrote:Aida,
Comprueba que estes usando #include "struct.ch"
y dime si te aparece algún "warning" al compilar
Que es mejor que programar? creo que nada 
Atropellada pero aqui ando
I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ

Atropellada pero aqui ando

I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Re: Tomando fotos con la webcam
Aida,
He copiado el código de photos.prg al final del ejemplo fivedbu.prg y funciona correctamente
Así que solo se me ocurre que me envies por privado todos los fuentes de tu app para poder construirla aqui
y ver que pueda estar ocurriendo
He copiado el código de photos.prg al final del ejemplo fivedbu.prg y funciona correctamente
Así que solo se me ocurre que me envies por privado todos los fuentes de tu app para poder construirla aqui
y ver que pueda estar ocurriendo

Re: Tomando fotos con la webcam
como puedo saber si se esta cargando la avicap32.dll
puede que ahí este el problema
puede que ahí este el problema

Que es mejor que programar? creo que nada 
Atropellada pero aqui ando
I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ

Atropellada pero aqui ando

I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Re: Tomando fotos con la webcam
Antonio Linares wrote:MsgInfo( LoadLibrary( "avicap32.dll" ) )
salio esto

Quite todo el código de mi programa solo deje el de la cámara como el principal y deje todo la configuración de inicio de mi programa lo compile y sale el mismo problema estoy usando tdolphin, taskpanel, FastReport no se si algo de esto sea la causa
Code: Select all | Expand
#include "FiveWin.ch"#include "taskpanel.ch"#include "OutLook.ch"#include "dtpicker.ch"#include "Ord.ch"#include "CdoSys.ch"#include "tdolphin.ch"#include "xbrowse.ch"#include "InKey.ch"#include "FastRepH.ch"#include "Slider.ch"#include "browseget.ch"#include "GIF.ch"#include "Struct.ch"//***************#pragma BEGINDUMP#include <windows.h>#include <hbapi.h>HB_FUNC( GETUSERDEFAULTUILANGUAGE ){ hb_retnl( GetUserDefaultUILanguage( ) ) ;}#pragma ENDDUMP#define WM_CAP_START WM_USER#define WM_CAP_DRIVER_CONNECT WM_CAP_START + 10#define WM_CAP_DRIVER_DISCONNECT WM_CAP_START + 11#define WM_CAP_SET_PREVIEW WM_CAP_START + 50#define WM_CAP_SET_PREVIEWRATE WM_CAP_START + 52#define WM_CAP_SET_SCALE WM_CAP_START + 53#define WM_CAP_EDIT_COPY WM_CAP_START + 30#define WM_CAP_FILE_SAVEDIB WM_CAP_START + 25#define WM_CAP_DLG_VIDEOFORMAT WM_CAP_START + 41#define WM_CAP_DLG_VIDEOSOURCE WM_CAP_START + 42#define WM_CAP_GET_STATUS WM_CAP_START + 54#define HWND_BOTTOM 1#define SWP_NOMOVE 2#define SWP_NOSIZE 1#define SWP_NOZORDER 4#ifdef __XHARBOUR__ #define hb_CurDrive() CurDrive()#endif#define WS_3DLOOK 4#define CLR_HBROWN nRGB( 205, 192, 176 )#define CLR_NBLUE nRGB( 142, 171, 194 )#define HKEY_LOCAL_MACHINE 2147483650#define CLR_MSPURPLE RGB( 128, 57, 123 )#define CLR_MSRED RGB( 232, 17, 35 )#define CLR_MSGRAY RGB( 229, 229, 229 )#ifndef TRUE #define TRUE .T. #define FALSE .F.#endif#define D_WIDTH 4#define D_HEIGHT 13#define COLOR_BTNFACE 15REQUEST HB_LANG_ENREQUEST HB_LANG_ESREQUEST HB_LANG_ITREQUEST HB_LANG_DEREQUEST DBFCDX//---------------------------------------------------------------------------------------------STATIC oWebcamstatic FIRST, lSeekWild := .t.static lShared := .T.static lPijama := .T.STATIC rNueva1,nLanguage,oWnd,MARCAS1,catego,oBtnOkKMA2,lenguita,lenguitasSTATIC rNueva2,oMenuSTATIC oSof,oDlgOP,cNombre,cNombreM,cNombreE,cVigencia1,cVigencia2,cNombreP,cVAR,VALORT,VALORTa,oBrw,negrow,cFile,cSeccion,cEntry,vDatoSTATIC oGet,oGet1,oGet2,oGet3,oGet4,cVige1,cVige2,n,oApp,oTmr,oBtnOkKMx,OBTNOKM,oBtnOkKM,oTaskPanel,oPanel,tipo,marcasSTATIC cTexto,cTexto1,oDlg,oClp,cIp,cIpx,oWnd2,XoBrw,oBjBLA,cantiX,Mentra10,Mentra11,oFr ,oQry,daty,colorix,finale,prutas,titulo,base,negro,lVar1STATIC bGrad := { | lInvert | If( ! lInvert, ; { { 1, nRGB( 255, 255, 255 ), nRGB( 230, 234, 239 ) } }, ; { { 1/3, nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ) }, ; { 2/3, nRGB( 255, 215, 84 ), nRGB( 255, 233, 162 ) } ; } ) }PROCEDURE MAIN() LOCAL aArray, nFor,cOnfi,cSeria,cName,ADATA,XX1,dFecha,cCadena,oCursor,oMenu2 LOCAL dFechaNueva,cURL,oHttp,cIpAddress,nCombo,XLK,titulin LOCAL cPassword := "xxxxx" local rNueva0:=rNueva0,cTequedan,colori,nogrande,cCrypt LOCAL oSay1,oYn1 , cAlias := "CUST" LOCAL oWnd, oImg, lClick := .f., oBtn, cFile, oFont,oBrush,bim,oWC //variables de la camara oWC := tWebCamPhoto():New() cFile := ".\fotos\Capturawebcam.bmp"WebcamList() Define Font oFont Name "Calibri" Size 0,-13 DEFINE BRUSH oBrush FILE "FOND\gray6.bmp" DEFINE DIALOG oWnd SIZE 1200, 700 TITLE "Capturar Fotografia de tus modelos cajas o material por WebCam" BRUSH oBrush //TRANSPARENT , oWC:End(), oWnd:End() @ 25, 350 IMAGE oImg OF oWnd SIZE 200,160 PIXEL ADJUST UPDATE oImg:nProgress := 0 @ 280, 25 BTNBMP oBtn PROMPT "Capturar" center OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ; ACTION ( oWC:Clipboard( oImg, cFile ), lClick := .t., oWnd:Update()) oBtn:SetColor( CLR_WHITE, CLR_BLACK ) @ 280, 120 BTNBMP oBtn PROMPT "Traspasa" center OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ; ACTION ( LeerClipBoard( oImg ) ) WHEN lClick oBtn:SetColor( CLR_WHITE, CLR_BLACK ) @ 280, 215 BTNBMP oBtn PROMPT "Salir" center OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ACTION ( oWC:End() , oWnd:End()) oBtn:SetColor( CLR_WHITE, CLR_BLACK ) @ 200, 360 BTNBMP oBtn PROMPT "Opciones" center OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ACTION oWC:Source() oBtn:SetColor( CLR_WHITE, CLR_BLACK ) *@ 200, 360 BUTTON oBtn PROMPT "Opciones" OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ; *ACTION ( MsgInfo( oWC:hWnd ), MsgInfo( oWC:nDriver ), MsgInfo( oWC:lConnected ), MsgInfo( oWC:cWebCamDriver ) ) @ 200, 460 BTNBMP oBtn PROMPT "Formato" center OF oWnd SIZE 85, 22 PIXEL UPDATE FONT oFont ACTION oWC:Formato() oBtn:SetColor( CLR_WHITE, CLR_BLACK ) @ 235, 400 BITMAP bim File "FOND\webcam.bmp" OF oWnd SIZE 100,80 PIXEL ADJUST UPDATE *IMAGE oImg OF oWnd SIZE 200,160 PIXEL ADJUST UPDATE ACTIVATE DIALOG oWnd ON INIT ( oWnd:Center(), oWC:CreateWnd( oWnd , 25, 10, 200, 120 ), oWC:Connect() )RETURN Nil//---------------------------------------------------------------------------//FUNCTION LeerClipBoard( oImg ) oImg:LoadFromClipboard() oImg:Refresh()RETURN Nil//---------------------------------------------------------------------------//EXIT Procedure WebcamDisconnect() if oWebcam <> nil oWebcam:Disconnect() oWebcam:=nil endifreturn//---------------------------------------------------------------------------//CLASS tWebCamPhoto DATA nFrameRate INIT 66 // Velocidad de actualización de la WebCam DATA nJpgQuality INIT 75 // Calidad de los JPG DATA hWnd // Handle de la centana de la imagen DATA aDrivers // Drivers de captura disponibles DATA nDriver // número del driver instalado + 1 DATA lConnected INIT .F. // ¿Está conectada> DATA cWebCamDriver INIT "Microsoft WDM Image Capture (Win32)" METHOD New( cDriver, lSelect ) CONSTRUCTOR // Construye el objeto. cDriver es el nombre del driver a usar, recomendado guardar en ini. Si lSelect=.T. muestra la lista para escogerlo METHOD CreateWnd( oWnd1, nLeft, nTop, nWidth, nHeight, nStyle, cTitle ) // Crea la ventana para la cámara en oWnd1. METHOD Connect // Conecta la cámara METHOD Disconnect // Desconecta la cámara METHOD Clipboard( oImg, cFile ) // Captura la imagen en clipboard actualiza a oImg con la imagen capturada y guarda un archivo bmp METHOD Source() // Configura la fuente de la webcam METHOD Formato() // Configura el formato de la imagen METHOD GetStatus() // Status de la imagen METHOD Resize() // Redimensiona la ventana de la imagen METHOD End() INLINE ::Disconnect() // Finaliza el objetoENDCLASS//---------------------------------------------------------------------------//METHOD New( cDriver, lSelect ) CLASS tWebCamPhoto DEFAULT cDriver := ::cWebCamDriver DEFAULT lSelect := .f. LoadLibrary("avicap32.dll") *MsgInfo( LoadLibrary( "avicap32.dll" ) ) ::aDrivers := WebCamList() ::nDriver := aScan(::aDrivers,{|u| Upper(StrTran(cDriver,' '))==Upper(StrTran(u,' '))}) IF ::nDriver == 0 .or. lSelect ::nDriver := WebCamSelect( ::nDriver, ::aDrivers ) ENDIF oWebcam := Selfreturn Self//---------------------------------------------------------------------------//METHOD CreateWnd( oWnd1, nTop, nLeft, nWidth, nHeight, nStyle, cTitle ) CLASS tWebCamPhoto DEFAULT nTop := 0, ; nLeft := 0, ; nWidth := 160, ; nHeight := 120 DEFAULT nStyle := nOr( WS_VISIBLE, WS_CHILD, WS_BORDER ) IF ::nDriver > 0 ::hWnd := wCamCreaWnd( ::aDrivers[ ::nDriver ], nStyle, nLeft, nTop, nWidth, nHeight, oWnd1:hWnd, 0 ) MsgInfo( GetErrMsg(), Str( ::hWnd ) ) ENDIFreturn ::hWnd//---------------------------------------------------------------------------//METHOD Connect() CLASS tWebCamPhoto if ::hWnd <> nil if SendMessage( ::hWnd, WM_CAP_DRIVER_CONNECT, ::nDriver-1, 0) = 1 ::cWebCamDriver := ::aDrivers[ ::nDriver ] SendMessage(::hWnd, WM_CAP_SET_SCALE, 1, 0) SendMessage(::hWnd, WM_CAP_SET_PREVIEWRATE, ::nFrameRate, 0) SendMessage(::hWnd, WM_CAP_SET_PREVIEW, 1, 0) ::lConnected := .T. ::Resize() else ::lConnected := .F. ::hWnd := Nil endif endifreturn ::lConnected//---------------------------------------------------------------------------//METHOD Disconnect CLASS tWebCamPhoto IF ::hWnd <> Nil .and. ::lConnected if SendMessage( ::hWnd, WM_CAP_DRIVER_DISCONNECT, 0, 0) = 1 ::lConnected := .F. oWebcam := nil endif ENDIFreturn nil//---------------------------------------------------------------------------//METHOD Clipboard( oImg, cFile ) CLASS tWebCamPhoto Local lSucc :=.F. if ::hWnd <> nil lSucc := ( SendMessage( ::hWnd, WM_CAP_EDIT_COPY, 0, 0) = 1 ) IF lSucc .and. oImg <> nil SendMessage( ::hWnd, WM_CAP_FILE_SAVEDIB, 0, cFile ) oImg:LoadFromClipboard() oImg:Refresh() ENDIF endifreturn lSucc//---------------------------------------------------------------------------//METHOD Source() CLASS tWebCamPhoto if ::hWnd<>nil .and. ::lConnected SendMessage( ::hWnd, WM_CAP_DLG_VIDEOSOURCE, 0, 0 ) endifreturn nil//---------------------------------------------------------------------------//METHOD Formato() CLASS tWebCamPhoto if ::hWnd<>nil .and. ::lConnected SendMessage( ::hWnd, WM_CAP_DLG_VIDEOFORMAT, 0, 0 ) ::Resize() endifreturn nil//---------------------------------------------------------------------------//METHOD GetStatus() Local oPoint, oStatus, cBuffer STRUCT oPoint MEMBER X AS LONG MEMBER Y AS LONG ENDSTRUCT STRUCT oStatus MEMBER nWidth AS LONG // Width of the image MEMBER nHeight AS LONG // Height of the image MEMBER lLive AS LONG // Now Previewing video? MEMBER lOverlay AS LONG // Now Overlaying video? MEMBER lScale AS LONG // Scale image to client? MEMBER oXYScroll AS STRING LEN 8 // AS POINTAPI // Scroll position MEMBER lDefPalette AS LONG // Using default driver palette? MEMBER lAudHardware AS LONG // Audio hardware present? MEMBER lCapFile AS LONG // Does capture file exist? MEMBER nCurVidFrm AS LONG // # of video frames cap'td MEMBER nCurVidDropped AS LONG // # of video frames dropped MEMBER nCurWavSamples AS LONG // # of wave samples cap'td MEMBER nCurTimeEl AS LONG // Elapsed capture duration MEMBER hPalCur AS LONG // Current palette in use MEMBER lCapturing AS LONG // Capture in progress? MEMBER nReturn AS LONG // Error value after any operation MEMBER nVidAlloc AS LONG // Actual number of video buffers MEMBER wAudAlloc AS LONG // Actual number of audio buffers ENDSTRUCT oPoint:x := 0 OPoint:y := 0 oStatus:oXYScroll := oPoint:cBuffer cBuffer := oStatus:cBuffer SendMessage( ::hWnd, WM_CAP_GET_STATUS, Len(cBuffer), @cBuffer) oStatus:cBuffer := cBufferreturn oStatus//---------------------------------------------------------------------------//METHOD Resize() CLASS tWebCamPhoto Local oStatus if ::hWnd<>nil .and. ::lConnected SysRefresh() oStatus := ::GetStatus() SetWindowPos(::hWnd,HWND_BOTTOM,0,0,oStatus:nWidth,oStatus:nHeight,; nOr(SWP_NOMOVE,SWP_NOZORDER ) ) SysRefresh() endifreturn nil//---------------------------------------------------------------------------//Function WebcamList() Local aDrivers := {}, ; nDriver := 0 , ; cName , ; cVersion , ; nLen := 255 DO WHILE .T. cName := space(nLen) cVersion := space(nLen) IF !wCamGetDrvDesc(nDriver, @cName, nLen, @cVersion, nLen) EXIT ENDIF if chr(0)$cName cName := Left(cName,At(chr(0),cName)-1) endif if chr(0)$cVersion cVersion := Left(cVersion,At(chr(0),cVersion)-1) endif aAdd( aDrivers , cName) nDriver++ ENDDOreturn aDrivers//---------------------------------------------------------------------------//STATIC Function WebcamSelect( nDriver, aDrivers ) Local oDlg, oCbx Local cDriver Local lSelect := .F. DEFAULT nDriver := 0 , aDrivers := WebcamList() IF Empty(aDrivers) MsgAlert('No Webcams') return 0 ELSE cDriver := aDrivers[Max(1,nDriver)] DEFINE DIALOG oDlg FROM 0,0 to 6,40 TITLE "Select webcam" @ 0,0 COMBOBOX oCbx VAR cDriver OF oDlg ITEMS aDrivers; SIZE 160,50 PIXEL @ 1.5, 4 BUTTON "Select" OF oDlg SIZE 40,12; ACTION (nDriver:=oCbx:nAt ,oDlg:End()) @ 1.5,16 BUTTON "Cancel" OF oDlg SIZE 40,12; ACTION oDlg:End() ACTIVATE DIALOG oDlg CENTERED ENDIFreturn nDriver//---------------------------------------------------------------------------//Function WebCamVersion(nDriver) Local cName, cVersion, nLen:=255 DEFAULT nDriver:=0 IF nDriver>0 cName:=space(nLen); cVersion:=space(nLen) IF wCamGetDrvDesc(nDriver-1, @cName, nLen, @cVersion, nLen) if chr(0)$cVersion cVersion:=Left(cVersion,At(chr(0),cVersion)-1) endif ELSE cVersion:=nil ENDIF ENDIFreturn cVersion//---------------------------------------------------------------------------//DLL32 STATIC FUNCTION wCamGetDrvDesc( nDriver AS _INT, cName AS STRING, nName AS LONG, cVersion AS STRING, nVersion AS LONG) AS BOOL PASCAL FROM "capGetDriverDescriptionA" LIB "avicap32.dll"//---------------------------------------------------------------------------//DLL32 STATIC FUNCTION wCamCreaWnd ( cTitle AS STRING, nStyle AS LONG, x AS LONG, y AS LONG, nWidth AS LONG, nHeight AS LONG, hWndParent AS LONG, nID AS LONG) AS LONG PASCAL FROM "capCreateCaptureWindowA" LIB "avicap32.dll"//---------------------------------------------------------------------------//
lo compile con el buildx.bat sin la librerias tdolphin, taskpanel, FastReport
Y FUNCIONO :shock:

entonces no se podrá usar una cámara

Que es mejor que programar? creo que nada 
Atropellada pero aqui ando
I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ

Atropellada pero aqui ando

I love Fivewin
séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 76 times
- Contact:
Re: Tomando fotos con la webcam
Añade ahora por separado cada uno de ellos hasta que localicemos de donde viene el problema
muy bien
muy bien