CODIGO NÃO ESTA GRAVANDO IMAGEM CAPTURADA VIA WEBCAM NO FORM

05/02/2013

1

Boa tarde,

Estou usando um TDelphiTwain em minha aplicação para adquirir uma imagem a partir da webcam. A mesma está abrindo normalmente a webcam, está gerando e salvando a imagem em uma pasta no pc, esta gravando normalmente o caminho da foto no banco de dados Firebird, porem, não esta fixando (gravando) a imagem no form (cadastro do Funcionario/cliente), todas as vezes que fecho o form a foto somente, porem, exibe normalmente no campo abaixo o caminho da foto, segue abaixo o codigo colocado no evento ONTWAINACQUIRE do componentes:

procedure TFormCadFuncionarios.DTImgCapImgTwainAcquire(Sender: TObject;
const Index: Integer; Image: TBitmap; var Cancel: Boolean);
var img : TJPEGImage;
diretorio, nome_arquivo : PChar;
begin
img := TJPEGImage.Create;
ImgCliente.IncrementalDisplay := True;
img.Assign(Image);
img.ProgressiveDisplay := True;
img.CompressionQuality := 75;
img.Compress;
//*************************
diretorio :=Pchar('D:\Projetos\Apache\images');
nome_arquivo :=Pchar(DMApache.QFuncionarioAPELIDO.AsString +
'_' + DMApache.QFuncionarioCODIGO.AsString + '.jpg');
//Verifica se o diretorio existe, se não, será criado.
if not DirectoryExists(diretorio) then
CreateDir(diretorio);
img.SaveToFile(diretorio + '\' + nome_arquivo);
//Gravar no Banco de dados
DMApache.QFuncionarioFOTO.AsString := diretorio +'\'+ nome_arquivo;
//DMApache.QFuncionario.Post;
//Exibe a imagem no campo do Formulario
ImgCliente.Picture.LoadFromFile(diretorio +'\'+ nome_arquivo);
//*************************
img.Free;
Cancel := True;
Responder

Posts

05/02/2013

Jose Medeiros

Boa noite,

marque essa linha com um breakpoint:
ImgCliente.Picture.LoadFromFile(diretorio +'\'+ nome_arquivo);

confere se o path da imagem esta vindo corretamente.
Responder

05/02/2013

Flavio Silva

Boa noite,

marque essa linha com um breakpoint:
ImgCliente.Picture.LoadFromFile(diretorio +'\'+ nome_arquivo);

confere se o path da imagem esta vindo corretamente.


Boa noite,

o Path está correto, mas como posso marcar uma linha com um breakpoint?
Responder

06/02/2013

Daniel Santos

Acompanhando os posts do nosso amigo, eu recomendo voce deixar a IDE de lado por enquanto, comprar um bom livro do Marco Canto e passar este carnaval dando uma boa estudada! Senão vai ser bem complicado!
Responder

06/02/2013

Bruno Leandro

Para por um breakpoint voce pode tambem clicar F5 na linha desejada, para visualizar os dados existem os menus do lado esquerdo ou você pode pressionar Control + F7, e informar a variavel que deseja ver o valor, para deixar essa visualização fixa, é o Control + F5, para ir pulando linha por linha utilize o F8, para acessar uma função quando estiver executando utilize o F7 e para voltar ao modo de execução pressione F9
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira