![]() |
PNG unterstützung in TImage
Hi Folks...
Ich war grad etwas überrascht als mir PNGs im Auswahldialog eines TImage (D2009) vorgeschlagen wurden. Ganz Spielkind, wie ich nun mal bin, hab ich direkt ein Testprojekt gestartet und ein teil-transparentes PNG geladen. Boa... geht. Cool... Aber zur Laufzeit ist es verschwunden. Hab dann zum Testen ein nicht-transparentes PNG geladen. Auch dies ist unsichtbar. Also es wird nicht dargestellt aber reagiert auf Mousedown, Hint, Cursor Einstellungen. Ob man die Eigenschaft Tranzparenz setzt oder nicht spielt dabei keine Rolle. Könnt ihr das bestätigen? Ist das so gewollt? [Edit]Ich verwende Vista (unfreiwillig) im classical gray - also nix mit glasframes, aero und co. Könnt ihr mal schauen ob es bei mir vielleicht daran liegt oder ob ihr das Phänomen nachgestellt bekommt?[/Edit] Gruß, Toni |
AW: PNG unterstützung in TImage
Unter XE seh ich die Grafik auch zur Laufzeit.
|
AW: PNG unterstützung in TImage
Hast du evtl. auch andere Kompos die selbst PNG-Support nachrüsten (z.B. von LMD)?
|
AW: PNG unterstützung in TImage
Wenn das PNG zur Designtime in ein
Delphi-Quellcode:
geladen werden kann, liegt das daran, daß die PNG-Unterstützung in die IDE mit eincompiliert ist. Damit das PNG dann auch zur Laufzeit angezeigt werden kann, muss natürlich dort auch die PNG-Unterstützung dabei sein. Dies erreicht man, indem man
TImage
Delphi-Quellcode:
in die
PngImage
Delphi-Quellcode:
-Clause schreibt.
uses
EDIT: Dies war schon in älteren Versionen ein beliebter Fehler mit JPG Images... |
AW: PNG unterstützung in TImage
Zitat:
Zitat:
Jedoch könnt es Probleme geben wenn mehrer PNG-Komponenten installiert sind und damit die IDE verwirren. In der DFM wird als erste Bytes der Name der Klasse mitgespeichert welche für den PNG-Support zuständig ist. Wenn jetzt die IDE "verwirrt" ist so trägt sich z.B. in's DFM z.B. TPNGObject (ehemalige freie PNG-Komponente) ein, aber in die Uses-Anweisung z.B. PNGImage was damit nur eine PNG-Klasse anderen Namens bindet. |
AW: PNG unterstützung in TImage
Also ich erinnere mich nicht mal soetwas installiert zu haben. Aber mein System ist auch schon ein paar Jahre alt. Wir haben direkt zugeschlagen als D2009 raus kam. So alt ist meine Installation dann auch schon. Ist viel installiert worden in der Zeit.
Mein Verzeichnis weisen "source/pngimage/pngimage.pas" von 2006 auf und ein "lib/PNG/pngimage.pas" von 2009. Hab das alte Verzeichnis dann mal entfernt, DCUs gelöscht, Delphi neu gestartet und das Projekt neu erzeugt. Gebracht hat das erstmal nichts. Ich hatte oben was editiert. Kann es mit meiner Windows-Umgebung zu tun haben? BTW: Die IDE hat PngImage ordnungsgemäß in die Uses aufgenommen. Gruß, Toni |
AW: PNG unterstützung in TImage
Das Löschen der Quelltextdateien bringt nicht sonderlich viel, da Delphi diese oftmals/meistens nicht direkt benutzt.
Stattdessen wird die vorkompilierte Version (gibt da 1-2 DCUs, mit und ohne Debuginfos) verwendet oder gar die DCU, welcher irgendwo in einer der Laufzeitpackages (BPLs) versteckt ist. |
AW: PNG unterstützung in TImage
Okay, der Trick ist: Beide Verzeichnisse sind falsch. Die richtige PNGImage.pas liegt in [..]\source\WIN32\vcl\imaging\PNGImage und die DCU sollte in [..]\lib liegen. Die DCU fehlt mir dort aber. Hab sie mir kompiliert und dorthin kopiert. Jetzt klappt es.
Ich danke euch. Toni |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 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