Olá galera, nesta Quick Tips, irei mostra como usar o componente TCamera, no Delphi 2010, devido a algumas mudanças na estrutura de Strings do Delphi 2010 para o Delphi 7, vamos ter que fazer algumas modificações no código para poder concluir o exemplo. Então vamos lá.
Vamos criar o exemplo para tal feito.
- 2 TLabels(LblOriginal, LblCapturada)
- 1 TPanel( PnlCabecalho )
- 2 TBitBtn(BtnFechar, BtnCapturar)
- 1 TImage (ImgCapturada)
- 1 TCamera (camCamera)
Seu exemplo deverá ficar da seguinte forma :
Vamos criar 3 procedures na seção private do nosso form:
private
{ Private declarations }
procedure AtivarWebCam;
procedure CarregarTImage(Filename:String);
procedure CapturarImagem;
public
{ Public declarations
{Vamos implementar a procedure AtivarWebCam, esta serve para iniciar a captura }
procedure TFrmCapturaWebCam.AtivarWebCam;
begin
try
camCamera.Actif := True;
except
MessageDlg('Ocorreu um erro ao tentar ativar a Webcam.' + #13 +
'Certifique-se de que a câmera esteja conectada e corretamente configurada.'
, mtError, [mbOk], 0);
end;
end;
{Vamos implementar agora clique do BtnCapturar }
procedure TFrmCapturaWebCam.BtnCapturarClick(Sender: TObject);
begin
CapturarImagem;
BtnFechar.SetFocus;
end;
{Vamos implementar agora a procedure CapturarImagem capturar a imagem do componente camCamera.
Veja que estamos salvando como F.bmp o nome do arquivo
Segundo ponto estamos mudando o nome da imagem F, caso você abra o código no ponto da linha CaptureImageDisque, você poderá ver que é criado um arquivo “F”, apenas
Após executar esta linha mudamos seu nome para salvar com o nome F.BMP, e logo em seguida nós carregamos a imagem no TImage, usando a função criada
}
procedure TFrmCapturaWebCam.CapturarImagem;
begin
if FileExists('F.bmp') then
DeleteFile('F.bmp');
camCamera.FichierImage := 'F';
camCamera.CaptureImageDisque;
RenameFile('F', 'F.bmp');
CarregarTImage('F.bmp')
end;
{Vamos implementar agora a procedure CarregarTImage para exibir a imagem no nosso TImage }
procedure TFrmCapturaWebCam.CarregarTImage(Filename: String);
begin
ImgCapturada.Picture.LoadFromFile(FileName);
end;
{Vamos implementar agora o evento destroy do nosso form TFrmCapturaWebCam }
procedure TFrmCapturaWebCam.FormDestroy(Sender: TObject);
begin
camCamera.Actif := False;
end;
{Vamos implementar agora o clique do BtnFechar }
procedure TFrmCapturaWebCam.BtnFecharClick(Sender: TObject);
begin
Close;
FrmCapturaWebCam.ModalResult := mrOk;
end;
Fico por aqui ate à próxima Quick Tips. Baixe o exemplo completo neste post.