Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   [Andorra2D][Frage] PNG verwenden (https://www.delphipraxis.net/86564-%5Bandorra2d%5D%5Bfrage%5D-png-verwenden.html)

framik 15. Feb 2007 17:33


[Andorra2D][Frage] PNG verwenden
 
Wenn man ein PNG in eine PicturCollection laden will kommt "Division durch Null".
Erst wenn ich AdPNG in mein Programm einbinde kommt der Fehler nicht mehr.
(Hat ne Weile gebraucht bis ich das rausgefunden hatte...)

Warum muss ich AdPNG selbst in mein Programm einbinden?
Besser wäre wenn das bereits in einer der Units erledigt wäre, zB in der Unit der PictureCollection

shmia 15. Feb 2007 17:42

Re: [Andorra2D][Frage] PNG verwenden
 
Die Delphi VCL hat eine Art Plugin-System für Grafikformate.
Wenn man ein weiteres Grafikformat benötigt, dann muss man lediglich die entsprechende Unit einbinden.
Die Unit registriert sich innerhalb der VCL und ab diesem Zeitpunkt ist das neue Format in der gesamten Anwendung verfügbar.
Auf diese Weise bleibt das System offen für beliebige Formate ohne dass man immer den gesamten Ballast mittragen muss.

igel457 15. Feb 2007 17:46

Re: [Andorra2D][Frage] PNG verwenden
 
Zitat:

Zitat von framik
Warum muss ich AdPNG selbst in mein Programm einbinden?
Besser wäre wenn das bereits in einer der Units erledigt wäre, zB in der Unit der PictureCollection

Ich habe das extra Modular aufgebaut: Jemand der keine PNGs verwenden möchte ist ja sonst gezwungen den ganzen PNG nebst PNGDelphi Kram mit zu kompilieren, was das Projekt unnötig aufbläht. Wenn man PNGs verwenden möchte, ist es ja kein Problem einfach die unit AdPNG einzubinden, das ist ja in 5 Sek. erledigt.

Ich werde aber in den Tutorials extra nochmal darauf hinweisen.

Übrigens kann man durch diese Modularität ganz einfach eigene Loader für Formate schreiben.

Danke für die Anregung,

igel457

@shima
Ich habe das praktisch genauso wie in der VCL gemacht, musste aber ein eigenes System schreiben, da ich sonst keine Unterstüzung für Alphachannels habe. Sonst hast du natürlich völlig recht.


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