Jump to content

diadoacbr

Gravar/Ler imagem no banco firebird


  • Este tópico foi criado há 1548 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Galera, objetivamente, ou seja, quem não tiver feito com sucesso e não tiver um exemplo prático não responda:

Alguém ai tem algum exemplo prático de como gravar/ler imagens em um banco de dados firebird em uma versão do Delphi compatível com a 2007? Se alguem tiver um exemplo que funciona, preciso urgente. Pago por isso.

 

Abraço.

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link to comment
Share on other sites

Sim, seria um JPG, na verdade eu não fiz nenhum modo que deu certo ainda. O que eu fiz foi transformar a imagem em Hexadecimal e Salvar no banco e depois trazer do banco e transformar em JPG mas, em alguns casos, a imagem fica preta ou corta. Não sei mais o que fazer.

  • Like 1

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link to comment
Share on other sites

@Daniel_paixao

Tenho gravado e restaurado tranquilamente JPG, XML e campos BLOB sem problema.

No caso de imagens eu gravo assim :

 

if fcMateriais.ImagemDB.Picture.Graphic <> nil then // Pra verificar se tem alguma imagem
begin
     ParamByName('IMAGEM').Assign(fcMateriais.ImagemDB.Picture.Graphic);
     ParamByName('TIPO_IMAGEM').AsString := TGraphicClass(fcMateriais.Imagem.Picture.Graphic.ClassType).ClassName  end;

 

Onde fcMateriais é o meu Form que tem o TImage, e criei :

    property ImagemDB: TImage read Imagem write  Imagem;
 

No Form  ==> OPD: TOpenPictureDialog

procedure TfcMateriais.ImagemClick(Sender: TObject);
begin
  if OPD.Execute then
  with Imagem do
    begin
      Proportional := False;
      Picture.LoadFromFile(OPD.FileName);
      if (Picture.Height > Height)or(Picture.Width > Width) then
        Proportional := True;
    end;
end;

 

Isso porque a gravação e a leitura da imagem esta em uma Unit, e o form em outra, uso TRecord para passar os dados.

Mais ou menos isso.

Dercide.

 

Link to comment
Share on other sites

  • Este tópico foi criado há 1548 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.