[Delphi] Download: immagine jpeg da un dominio.
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.