[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.

Lascia una Risposta

Devi aver fatto il login per inviare un commento