



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!
Primeiramente é necessário declarar as seguintes unidades para que o código compile.
JPeg, Classes, Graphics e IdHTTP;
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.
Você precisa fazer o login para publicar um comentário.
da um erro io handle quando chama
Excelente.
Funcionou perefeitamente.
Muito Obrigado!