DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como carregar uma imagem de um link para um TImage?

Carregar uma imagem da web pode ser prático!

 

Fala galera do Show Delphi, tudo beleza?

Carregar uma imagem em um TImage é relativamente simples, porém algumas vezes é necessário apresentar em sistemas desktop algumas imagens diretamente da web.

Porém, como fazer isto?

Felizmente há um procedimento que ajudará bastante neste caso!

 

Declarando as units na área uses

Primeiramente é necessário declarar as seguintes unidades para que o código compile.
JPeg, Classes, Graphics e IdHTTP;

 

Vamos ao código fonte

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure GetImageByUrl(URL: string; APicture: TPicture);
var
  Jpeg: TJPEGImage;
  Strm: TMemoryStream;
  vIdHTTP : TIdHTTP;
begin
  Screen.Cursor := crHourGlass;
  Jpeg := TJPEGImage.Create;
  Strm := TMemoryStream.Create;
  vIdHTTP := TIdHTTP.Create(nil);
  try
    vIdHTTP.Get(URL, Strm);
    if (Strm.Size > 0) then
    begin
      Strm.Position := 0;
      Jpeg.LoadFromStream(Strm);
      APicture.Assign(Jpeg);
    end;
  finally
    Strm.Free;
    Jpeg.Free;
    vIdHTTP.Free;
    Screen.Cursor := crDefault;
  end;
end;

Exemplo de uso:

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
  GetImageByUrl('http://localhost/teste/imagem.jpg', Image1.Picture);
end;

Obs: A função está preparada para imagens jpeg, mas é possivel usar
para png ou git trocando TJPEGImage por TPngImage ou TGifImage.
Também é necessário colocar a unit correspondente no uses.

Facebook Comments Box
  • Giovani Da Cruz
  • 14.919 views
  • 2 comentários
  • 6 de novembro de 2016

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

2 respostas para “Como carregar uma imagem de um link para um TImage?”

  1. josiel disse:

    da um erro io handle quando chama

  2. WELES SAGGIORATO SIQUEIRA disse:

    Excelente.

    Funcionou perefeitamente.

    Muito Obrigado!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados