Danke für die Antworten!
Zitat von
omata:
Bei einer Internetsuche stolpert man allerdings ständig über pngDelphi.
Stimmt, da gibt es auch nicht wirklich viel Alternativen. Lediglich von Luckie las ich mal den Tipp mit den HiComponents - als er jedoch dort das Problem mit Speicherlecks hatte. Scheint für Grafik- und Kompressionslibraries ein sehr häufiges Problem zu sein
Zitat von
omata:
Was spricht den gegen diese Komponente? Vieleicht können wir ja deine Speicherleckprobleme lösen?
Ich habe gerade mir die Komponente angesehen - ist ebenfalls die 1.564. Registriert wird der Handler füt TImage, weißt Du, ob es auch für TImageList geht?
Ich prüfe das jetzt gleich mal - aber vielleicht hast Du das ja schon getestet.
Konkrete Speicherlecks gibt es bei der Thany Erweiterung für PNGdelphi 1.564 (wird ja auch nicht mehr gepflegt).
Mein Code:
Delphi-Quellcode:
procedure Txxx.MakeDisabledImage(var AImage: TImage);
var
pngimg1: TPNGObject;
begin
if Assigned(AImage) then
begin
pngimg1 := TPNGObject.Create;
try
ConvertToPNG(AImage.Picture.Graphic, pngimg1); // hier...
MakeImageBlended(pngimg1); // ...und hier gibt es Lecks
AImage.Picture.Assign(pngimg1);
finally
FreeAndNil(pngimg1);
end;
end;
end;
Die Funktionen MakeImageBlended und ConvertToPNG stammen dabei aus der "pngfunctions.pas" von Thany... Ich versuche noch mal schnell aus dem Projekt ein LeakLog zu erstellen. Dauert aber kurz wegen der Projektgröße...
Gruß und Danke
Assertor