Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Performante PNG Imagelist gesucht (https://www.delphipraxis.net/132776-performante-png-imagelist-gesucht.html)

Codehunter 19. Apr 2009 14:05


Performante PNG Imagelist gesucht
 
Ich benutze noch D5 Pro und versuche, eine größere Menge PNGs in eine TPngImageList zu laden. Ich benutze noch die PngLib von Gustavo Huffenbacher Daud in Version 1.4361. Aktuellere Codeversionen habe ich leider nicht gefunden da Codegear jetzt anscheinend die Rechte daran hat und die Lib von allen gängigen Sites (torry, Codeplex, Sourceforge etc.) verschwunden ist.

Mein Problem ist, daß ich fast 500 PNGs im Format 64x64 Pixel laden muss. Bei meiner PngImageList geht das nur mit InsertPng und auch nur wenn ich sie an den Index 0 lade (weiß der Geier warum), danach muss ich die Reihenfolge auch noch umdrehen. Alles in allem sehr inperformant. Das Ganze dauert knapp 2 Minuten, no way...

Habt ihr eine Idee, wie ich das effizienter anstellen kann? Gibts noch freie Png-Libs?

Bernhard Geyer 19. Apr 2009 14:10

Re: Performante PNG Imagelist gesucht
 
Frei nicht, aber du könntest mal die TLMDPNGImageList von LMD verwenden die z.B. beim ElPack mitgeliefert wird.

Codehunter 19. Apr 2009 14:23

Re: Performante PNG Imagelist gesucht
 
Danke werde ich mir auch mal anschauen... Jetzt bin ich aber grad vor ner Sekunde per Zufall hier auf den entscheidenden Hinweis gestoßen: Die alte PngImageList verhält sich nämlich nicht 100% so wie die TImageList von der sie abgeleitet ist.

Ich habe jetzt in meiner Darstellungskomponente (TListView) mal das Ganze per OwnerDraw gemacht und dabei nicht die Draw-Routine verwendet die PngImageList aus der VCL her holt sondern die Draw-Routine von PngImageList.Items[Index].PngImage und schwuppdiwupp lad das Ganze nun 500 PNGs in einer Sekunde :-)

Danke trotzdem für die schnelle sonntägliche Antwort :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.

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