Boa tarde a todos.
Não é dia do trabalho? Vamos trabalhar, então!
Entrei no post pois tambem preciso usar captura de imagem tanto de webcam como de scaner nos programas que estou fazendo.
Baixei o exemplo do Toledo, mas algo aconteceu. O exemplo congelava e só saia com CTRL+ALT+DEL. Pensei ser algo da rotina. Então copiei a FUNCTION de captura para meu programa e deu a mesma coisa. Fuçando, descobri que era a função GetFormHandle('Form'). Segui o que tinha no manual da lib e botei 0 (zero) no lugar. Não travou, mas não grava a imagem.
Curioso é que fiz um botão pra chamar a rotina 'TWAIN_AcquireToFilename'. Testando, descobri que após a captura, é como se não retornasse a função chamada pelo botão. Aí quando gravo, ele tenta concluir e dá um erro de form, pois o mesmo já foi liberado (released).
Caramba, pra uma coisa tão simples estou o dia todo brigando, desde 7h da manhã. Achei que ia rodar fácil, mas...
Detalhe: Estou usando uma camera Logitech. E o aplicativo da camera entra junto com a rotina da lib. Pode ser isso?
Algum tipo de confilto?
Quem tiver uma dica, já agredeço antecipado.
Abraços,
Mario.
Capturar imagem da Webcam
Moderador: Moderadores
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Re: Capturar imagem da Webcam
Boa noite. pessoal.
Reforçando a msg anterior, entendi que parece que ocorre uma falha na rotina de captura. O botão "Obter Imagem" não habilita, então não grava a imagem. A rotina retorna -1 (The Acquire failed). Fui na configuração da camera para que o seu programa não confiltasse com a rotina de captura, mas até agora não consegui ajeitar...
Se alguem já se deparou com coisa semelhante, pode comentar.
Obrigado,
Mario.
Reforçando a msg anterior, entendi que parece que ocorre uma falha na rotina de captura. O botão "Obter Imagem" não habilita, então não grava a imagem. A rotina retorna -1 (The Acquire failed). Fui na configuração da camera para que o seu programa não confiltasse com a rotina de captura, mas até agora não consegui ajeitar...
Se alguem já se deparou com coisa semelhante, pode comentar.
Obrigado,
Mario.
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Capturar imagem da Webcam
Caro, resurgindo o assunto das cinzas. O exemplo q peguei aqui mesmo do amigo Toledo agora parou de funcionar, na verdade ele apresenta a imagem do scanner quando eh invocado. No meu notebook soh tem a webcam e quando invoco a funcao ele nao apresenta nada. Coloquei a funcao chamando a origem e fica em branco. Segue abaixo o meu codigo
Código: Selecionar todos
Static Function ObterImagemAss(CodCli)
Local Form_Main
Local oFontBtn
Local oFont := Nil
Local nColor
local hdll
If File(vAssinatura)
If MsgYesNo("Imagem da Rubrica ja existe. Substituir Imagem ?")
IF FErase(vAssinatura)<0
MsgStop("Nao foi possivel deletar a Imagem anterior")
Return .F.
Endif
Else
Return .F.
Endif
Endif
hdll:=loadlibrary("EZTW32.DLL")
dllcall(hdll,DC_CALL_STD,"TWAIN_SelectImageSource",oDlg:Handle,vAssinatura) //Adicionei aqui para ver se aparecia a webcam
dllcall(hdll,DC_CALL_STD,"TWAIN_AcquireToFilename",oDlg:Handle,vAssinatura)
freelibrary(hdll)
vAssinatura:=""
oAssinatura:SetText(vAssinatura)
oAssinatura:Refresh()
vAssinatura:=xendcomp+"Imagens\AS"+strzero(codcli,6)+".bmp"
If File(vAssinatura)
oAssinatura:Hide()
@ 15,25 IMAGE oAssinatura SHOW vAssinatura OF oDlg SIZE 570,332
oAssinatura:Refresh()
oAssinatura:Show()
Else
oAssinatura:Hide()
Endif
Return .T.
Marcos Roberto
NetService Software
NetService Software
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Capturar imagem da Webcam
Amiguinho,
Reinstale o driver TWAIN.
Reinstale o driver TWAIN.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Capturar imagem da Webcam
Código: Selecionar todos
dllcall(hdll,DC_CALL_STD,"TWAIN_SelectImageSource",oDlg:Handle,vAssinatura)Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Capturar imagem da Webcam
Caro Toledo obr pela resposta. Isso jah foi feito, inclusive a janela para selecionar o dispositivo aparece, mas aparece vazio (no caso do meu not q soh tem a webcan). Verificando minha webcan (windows 7) ela aparece normalmente em dispositivos e impressoras. No caso do meu cliente a janela aparece com apenas o scanner como opcao. O q parece eh q estah disponivel apenas o q for impressoras e faz!
Marcos Roberto
NetService Software
NetService Software