PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Gravar imagem jpeg do TImage no BD #607244

31/12/2019

0

Bom dia, pessoal!

Estou fazendo um cadastro de biometria, e pra finalizar, me pediram pra salvar uma imagem da digital de cada dedo no banco de dados.

Para cada dedo pressionado no leitor biométrico, a imagem da digital é exibida em um TImage.
O que preciso fazer é gravar a imagem desse TImagem no banco para, posteriormente, exibi-la em outras telas.

O problema é que não estou conseguindo gravá-la corretamente. Procurei e encontrei vários posts ensinando a gravar somente quando o TImage é carregado a partir de um OpenDialog, que não é meu caso.

Por fim, estou usando a seguinte rotina para gravar no banco:


procedure GravarImagem;
var
  Stream: TMemoryStream;
begin
  Stream := TMemoryStream.Create;
  imagem1.Picture.Graphic.SaveToStream(Stream);

  tb_Imagem.Edit;
  TBlobField(tb_Imagem.FieldbyName('imagem')).loadfromstream(stream);
  tb_Imagem.Post;
end;



Gostaria de gravar a imagem em jpeg, pois vi que ela ocupa menos espaço que o bmp. Já inclui o jpeg no Uses do form.
Mas sempre que tento exibir a imagem depois de gravada, dá erro, como se a imagem estivesse corrompida.
Para confirmar, abaixo dessa rotina, estou salvando a imagem em uma pasta do meu computador, mas ela salva apenas um arquivo jpeg, que não abre.

O que posso estar fazendo de errado? Parece uma rotina tão simples, mas estou quebrando a cabeça rs.
Natalia

Natalia

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar