Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi PNGBild zur Laufzeit in eine PNGImageCollection einfügen (https://www.delphipraxis.net/110128-pngbild-zur-laufzeit-eine-pngimagecollection-einfuegen.html)

Oracle 13. Mär 2008 11:12


PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
Kann man die PNG Bildchen auch zur Laufzeit in eine PNGImageCollection einfügen?
Und wenn ja wie?

Oracle 18. Mär 2008 08:51

Re: PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
Wer ausser mir hat noch dieses Problem mit der PNGImageCollection, dass man keine neuen Bilder einfügen kann. Es kommt immer eine Fehlermeldung: "ungültiges Grafikformat". Das komische ist aber dass es bis vor kurzem noch ging. Ich vermute, dass es seit dem Aufspielen der letzten Delphi Updates nicht mehr geht.

Die Muhkuh 18. Mär 2008 08:53

Re: PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
Hi,

funktioniert folgendermaßen:

Delphi-Quellcode:
var
  png: TPngImageCollectionItem;
begin
  FPNGImageList := TPNGImageList.Create(Self);

  PNG := FPNGImageList.PngImages.Add;
  PNG.PngImage.LoadFromFile(GetIconDir + 'error.png');

  PNG := FPNGImageList.PngImages.Add;
  PNG.PngImage.LoadFromFile(GetIconDir + 'accept.png');

  PNG := FPNGImageList.PngImages.Add;
  PNG.PngImage.LoadFromFile(GetIconDir + 'delete.png');

  PNG := FPNGImageList.PngImages.Add;
  PNG.PngImage.LoadFromFile(GetIconDir + 'email.png');
end;
Zumindest mach ich das in meinem Programm so.

Oracle 19. Mär 2008 15:04

Re: PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
Das will bei mir so gar nicht funktionieren:
Ich bekomme schon einen Fehler bei FPNGImageList.PngImages. Da unterstreicht er PngImages.
Bei dir funktioniert das genauso wie du es hier gepostet hast?

Die Muhkuh 19. Mär 2008 15:06

Re: PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
Ja, funktioniert.

Du musst natürlich die Namen der Objekte noch anpassen:

FPngImageList ist eine TPNGImageList
png ist ein TPNGImageCollectionItem

Musst nur Deine eigenen verwenden.

Oracle 19. Mär 2008 15:57

Re: PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
wenn ich das so mache bekomme ich in der Zeile

Delphi-Quellcode:
PNG := PNGImageList1.PngImages.Add;
den Fehler: Undefinierter Bezeichner PngImages.

Ist da vielleicht ein Schreibfehler?

Die Muhkuh 19. Mär 2008 16:03

Re: PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
Nein, hab funktionierenden Source abkopiert. Vielleicht nutzen wir nicht die gleichen Units?

Meine kommen von hier: http://www.thany.org/download/14/pngcomponentssetup.zip

Oracle 19. Mär 2008 17:10

Re: PNGBild zur Laufzeit in eine PNGImageCollection einfügen
 
wir hatten wirklich unterschiedliche Units. Aber danke, jetzt funktioniert es :) Endlich!!!
:dancer:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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