Nur mal so zur Info. Man kann mit den Indys auch in einen Stream herunterladen und mit TImage auch aus einem Stream heraus laden, damit spaart man sich das anlegen einer Temp-datei.
Delphi-Quellcode:
var LHttp: TIdHTTP;
LDestStream: TMemoryStream;
LJpg: TJPEGImage;
begin
LDestStream := TMemoryStream.Create; //MemoryStream für das Bild was wir runterladen
LHttp := TIdHTTP.Create(nil); //Instanz des Http-Clients erstellen
LHttp.Get('http://www.esfeb-it.de/esfeb-it/previewpics/mpv1.jpg', LDestStream); //bild in den Memorystream herunterladen
LHttp.Free; //jetzt brauche wir den http-client nicht mehr, also wird er freigegeben
LDestStream.Position := 0; //stream-position auf 0 setzen
LJpg := TJPEGImage.Create; //Jpeg-Instanz erstellen
LJpg.LoadFromStream(LDestStream); //das Jpeg-Bild aus unserem stream laden (also das heruntergeladene Bild aus dem Stream holen)
Image1.Picture.Assign(LJpg); //unser jpg dem TImage zuweisen
LJpg.Free; //jpeg-bild freigeben
LDestStream.Free; //memory-stream frei geben