Thema: Delphi Bild aus Internet laden

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 

Re: Bild aus Internet laden

  Alt 14. Apr 2005, 20:38
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
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat