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; |
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; |
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.
-
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!
Posts Relacionados - Continue Aprendendo
da um erro io handle quando chama
Excelente.
Funcionou perefeitamente.
Muito Obrigado!