Buenas tardes.
Tengo un menú principal y de ahí mando llamar un catalogo de clientes de la siguiente manera:
Código Delphi
[-]
frmCatClientes := TfrmCatClientes.Create(nil);
frmCatClientes.ShowModal;
frmCatClientes.Free;
En el catalogo tengo un boton que manda llamar el form de la camara de la siguiente manera:
Código Delphi
[-]
frmCamara := TfrmCamara.Create(nil);
frmCamara.ShowModal;
frmCamara.Free;
En el form de la camara en la clausula USES pongo VFrames y System.IOUtils
En el private pongo las siguientes variables:
Código Delphi
[-]
imgFileName:String;
cam:TVideoImage;
Y utilizo el siguiente codigo:
Código Delphi
[-]
procedure TfrmCamara.btnGrabarFrameClick(Sender: TObject);
begin
Randomize;
var Bmp := TBitmap.Create;
try
cam.GetBitmap(bmp);
imgFileName := TPath.GetTempPath + Random(9999).ToString + '_imagen.bmp';
bmp.SaveToFile(imgFileName);
finally
bmp.Free;
end;
imgFrame.Picture.LoadFromFile(imgFileName);
Caption := imgFileName;
end;
procedure TfrmCamara.btnInicializarClick(Sender: TObject);
begin
cam := TVideoImage.Create;
cam.GetListOfDevices(TStringList(lbCamList.Items));
lbCamList.Enabled := (lbCamList.Count > 0);
end;
procedure TfrmCamara.btnSalirClick(Sender: TObject);
begin
ModalResult := mrOk;
end;
procedure TfrmCamara.lbCamListDblClick(Sender: TObject);
begin
cam.SetDisplayCanvas(pbVideo.Canvas);
cam.VideoStart(lbCamList.Items[lbCamList.ItemIndex]);
btnGrabarFrame.Enabled := (lbCamList.Count > 0);
end;
Gracias por su ayuda.