WebCam Control foi desenvolvido em Flash(2.0) e em HTML5(3.0), e pode ser executado de qualquer navegador, com suporte as tecnologias, tira foto e envia imagem para seu servidor (fazendo upload do arquivo) podendo recortar a imagem, ótimo para cadastro de pessoa ou de produtos entre outras coisas. Já vem com um exemplo de código(xpz) de como pode ser utilizado.
Na Versão 3.0 desenvolvido em HTML 5 com suporte a C# e JAVA.
Principais característica:
1. Tira foto;
2. Envia foto para o servidor;
3. Executa áudio ao tirar a foto(Somente na versão 2.0 e inferior);
4. Recortar foto;
Obs.: Identifica a web cam conectada no seu computador. Na versão 2.0 O arquivo shutter.mp3 que esta dentra da pasta o user control deve ser adicionado também na raiz da pasta web/shutter.mp3. A propriedade DirUploadTemp do UC deve ser configurada com uma pasta no servidor com permissão de leitura e escrita. Versão testada somente em ambiente C#. Na versão 3.0 os navegadores estão exigindo https para ambientes diferentes de localhost, para poder habilitar a webcam como medida de segurança.
Implementando
VERSÃO 3.0 - HTML 5 Suporte a JAVA e C#, tema não responsivo. Genexus Ev2 e Ev3 e 15. Simples implementação o UC
retorna a imagem(png) na base64.
Event Start
//Obersavacao: Genexus Ev2 que não vem com referencia Jquery favor adicionar.
Form.JScriptSrc.Add('Shared/jquery/jquery.js')
//Genexus Ev1 não suporta.
EndEvent
Event Enter
//ESTE EVENTO TEM QUE SER DISPARADO DEPOIS DE CAPTURAR A IMAGEM DA WEBCAM
//&AtributoFileBase64 - LongVarChar - adicione a propriedade
//&AtributoImgBase64 - LongVarChar - adicione a propriedade
&Blob.FromBase64String(&AtributoFileBase64)
&FILE.Source = &Blob
//Salva arquivo na Pasta
&CaminhoCompletoSave = 'C:\Des\apache-tomcat-7.0.72\webapps\testeuc\temp' + '\imagem01.png'
&FILE.Copy(&CaminhoCompletoSave)
Msg('Imagem salva na pasta com sucesso!')
//PEGA O ARQUIVO BLOB E GRAVA NO BANCO
//---------IMPLEMENTAR---------
EndEvent
VERSÃO 2.0 Suporte a Somente a C# e em Flash Ev1, Ev2 e Ev3 e 15, não responsivo.
Event Start WebCamControl1.NomeImgGerada = 'NomeImagem_' + &WEBSESSION.Id.Trim() EndEvent
Event Enter /*ESTE EVENTO TEM QUE SER DISPARADO DEPOIS DE CAPTURAR A IMAGEM DA WEBCAM*/ IF WebCamControl1.DirUploadTemp = '' Or WebCamControl1.DirUploadTemp = 'WebCamControl' &DIRECTORY.Source = 'WebCamControl' &BASE_CAMINHO = &DIRECTORY.GetAbsoluteName() + '\uploads\' ELSE &DIRECTORY.Source = WebCamControl1.DirUploadTemp &BASE_CAMINHO = &DIRECTORY.GetAbsoluteName() ENDIF IF &DIRECTORY.Exists() &BASE_CAMINHO = &BASE_CAMINHO + WebCamControl1.NomeImgGerada + '.jpg' &FILE.Source = &BASE_CAMINHO IF &FILE.Exists() //PEGA O ARQUIVO E GRAVA NO BANCO //---------IMPLEMENTAR--------- MSG(&BASE_CAMINHO) //DEPOIS DO ARQUIVO SALVO DELETE O ARQUIVO TEMPORARIO //&FILE.Delete() ELSE &MSG = "Erro: Arquivo não exite -> " + &BASE_URL_IMAGEM.Trim() MSG(&MSG) ENDIF ELSE &MSG = "Erro: Caminho inválido -> " + &BASE_URL_IMAGEM.Trim() MSG(&MSG) ENDIF EndEvent