Utilizzando Delphi possiamo creare una funzione che effettui il download di una immagine di tipo jpeg per visualizzarla in un componente di tipo TImage, per fare ciò è necessario inserire fra le uses del progetto quanto segue:
uses Jpeg, IdBaseComponent, IdComponent, IdTCPComponent, IdTCPClient, IdHTTP;
successivamente definiamo la funzione DownloadJpgABitmap:
function DownloadJpgABitmap(const URL: string; ABitmap: TBitmap): Boolean;
var
idHttp:TIdHTTP;
ImgStream:TMemoryStream;
JpgImage: TJpegImage;
begin
Result:=false;
ImgStream:=TMemoryStream.Create;
try
idHttp:=TIdHTTP.Create(nil);
try
idHttp.Get(URL, ImgStream);
finally
idHttp.Free;
end;
ImgStream.Position:=0;
JpgImage:=TJpegImage.Create;
try
JpgImage.LoadFromStream(ImgStream);
ABitmap.Assign(JpgImage);
finally
Result:=true;
JpgImage.Free;
end;
finally
ImgStream.Free;
end;
end;
Una volta definita la funzione per il download, inserire sulla form un componente di tipo TImage, lasciamo il nome predefinito (esempio: Image1) ed infine inseriamo sulla form un componente di tipo TTimer, selezioniamo quest’ultimo componente, facciamo doppio click e assegnamo il seguente codice:
procedure TfrmMain.tmFotoTimer(Sender: TObject);
begin
DownloadJpgABitmap('http://www.filippomalaspina.com/img.jpg', Image1.Picture.Bitmap);
end;
Compiliamo l’applicazione ed avviamola, vediamo che ogni tot di secondi, quelli impostati sul timer inserito sulla form, viene effettuato il download dell’immagine e viene visualizzata nel componente Image1.
