Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi VirtualTreeView und Bild aus Internet (https://www.delphipraxis.net/136664-virtualtreeview-und-bild-aus-internet.html)

Daxon 5. Jul 2009 16:18


VirtualTreeView und Bild aus Internet
 
hallo!

wie bekomme ich am einfachsten (und am schnellsten von der ladezeit her!) ein bild aus dem internet als "symbol" in einer virtualtreeview?

danke!

gsh 5. Jul 2009 16:36

Re: VirtualTreeView und Bild aus Internet
 
Naja du solltest schaun das das Bild möglichst klein ist und dann per idHTTP herunterladen.
Und das dann im TreeView anzeigen.

Über die Suche solltest du dir die dafür notwendigen sachen zusammen suchen können.

Daxon 5. Jul 2009 16:43

Re: VirtualTreeView und Bild aus Internet
 
ja, ich habe es derzeit in einem stream geladen, diesen dann gegebenfalls umgewandelt, in eine imagelist geschrieben und dann angezeigt. dauert aber alles (weniger das herunterladen, sondern das umwandeln, in imagelist schreiben, etc.). deswegen ja meine frage, ob es auch eine schnellere möglichkeit gibt (eventuell ohne umwandeln und ohne imagelist)...

gsh 5. Jul 2009 16:50

Re: VirtualTreeView und Bild aus Internet
 
Zitat:

Zitat von Daxon
ja, ich habe es derzeit in einem stream geladen, diesen dann gegebenfalls umgewandelt, in eine imagelist geschrieben und dann angezeigt. dauert aber alles (weniger das herunterladen, sondern das umwandeln, in imagelist schreiben, etc.). deswegen ja meine frage, ob es auch eine schnellere möglichkeit gibt (eventuell ohne umwandeln und ohne imagelist)...

Wie groß ist das Bild?
In welchem Format ist es?
In welches Format verwandelst du es?
Hast du schon mal Zeitmessungen durchgeführt um auf herauszufinden an welcher stelle am meisten Zeit verloren geht?
Zeig vielleicht mal deinen Code möglichweiße kann man ihn ja optimieren.

Daxon 5. Jul 2009 20:33

Re: VirtualTreeView und Bild aus Internet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
var
  imgStream: TMemoryStream;
  imgBMP: TBitmap;

procedure TForm1.SaveImg();
begin
  imgStream := TMemoryStream.Create;
  imgBMP:= TBitmap.Create;
  IdHTTP1.Get(Edit1.Text, imgStream);
  imgBMP.LoadFromStream(imgStream);
  imgBMP.SetSize(120, 90);
  ImageList1.Add(imgBMP, nil);
  imgBMP.Free;
  imgStream.Free;
end;
So in etwa... Da dauert das Herunterladen von 50 gleichen Dateien (in einer schleife) schon fast 4 sekunden, obwohl Firefox die Grafik (120x90 und ca. 3KB) innerhalb von ms anzeigt...

isilive 5. Jul 2009 22:53

Re: VirtualTreeView und Bild aus Internet
 
Zitat:

Zitat von Daxon
So in etwa... Da dauert das Herunterladen von 50 gleichen Dateien (in einer schleife) schon fast 4 sekunden, obwohl Firefox die Grafik (120x90 und ca. 3KB) innerhalb von ms anzeigt...

Kann es sein dass Firefox sie aus dem Cache lädt und gar nicht aus dem Internet?!
Versuch mal die Zeit festzustellen...


Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
begin
     Time1 := GetTickCount();
end;

procedure foo...;
var
    Difference:      DWORD;
begin
    Difference      := GetTickCount() - Time1;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz