![]() |
TActionManager + TVirtualImageList + PNG
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
das Thema kommt öfter mal vor: rosa Ränder an transparenten Icons. Ich dachte mit TVirtualImageList wäre es vorbei, doch offenbar nicht ganz. Immer wieder krieg ich rosa Ränder um transparente Icons. Reproduzierbar zum Beispiel, wenn ich ein Icon einer Aktion im TActionManager zuweise. Das gleiche Icon aus der gleichen Imagelist einem Speedbutton direkt zugewiesen sieht so aus, wie es soll: Als Detail: design-time sieht es noch einen Ticken besser aus als Run-Time, aber der rosa Rand ist immer zu sehen. Hab einiges herumprobiert an der ImageCollection, das ändert aber nichts. Gibt es da Hinweise? Danke! |
AW: TActionManager + TVirtualImageList + PNG
Kannst du das Beispielprojekt mal hier posten? Das erspart dem einen oder anderen die Mühe, das selbst zusammenzubauen, und vermeidet insbesondere auch Unschärfen in der Beschreibung.
|
AW: TActionManager + TVirtualImageList + PNG
Sind die icons wirklich .png? Die regeln das doch über den alpha-channel, und das funktioniert sowieso besser. Rosa Ränder tauchen eigentlich nur bei .bmp auf, die eine transparente Farbe haben. Man könnte aber ziemlich einfach eine utility schreiben, die die transparente Farbe in alpha übersetzt und das Ergebnis in .png abspeichert.
Renate |
AW: TActionManager + TVirtualImageList + PNG
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für die Rückmeldungen. Das Beispiel anbei. Ja, es sind png mit transparentem Hintergrund.
Denkbar, dass es indirekt mit Anti-Aliasing zusammenhängt ... ?! Wie genau die Transparenz beim AA interpretiert wird. |
AW: TActionManager + TVirtualImageList + PNG
Dem Action-SpeedButton ist keine ImageList zugewiesen. In dem Fall wird beim Zuweisen der Action ein Bitmap erzeugt und als Glyph angezeigt (kann man im Glyph Property sehen).
Richtiges Vorgehen: Dem SpeedButton erst die ImageList und danach die Action zuweisen. Das setzt dann im SpeedButton den ImageIndex. |
AW: TActionManager + TVirtualImageList + PNG
Es sieht ja so aus, als wenn bei der Action das "Image" umkopiert/transformiert wird.
Also z.B. das PNG intern auf einen rosa Hintergrund und das ErgebnisBild (Icon/Bitmap) dann erst im Button zu sehen ist. Wenn da das Alpha in eine Transparenz-Maske (durchsichtiges Pixel oder nicht) überführt würde, dann kommt sowas bei raus, wenn man "halbtransparente" Pixel letztendlich als Transparent und nicht als Intransparent behandelt. (oder beim Umkopieren muß eine passendere Hintergrundfarbe benutzt werden ... wobei oftmals einfach schwarz, anstatt Rosa genommen wird, was auch nicht immer "optimal" ausschaut, z.B. auf hellen Buttons/Komponenten) |
AW: TActionManager + TVirtualImageList + PNG
Zitat:
Danke!! |
AW: TActionManager + TVirtualImageList + PNG
Die Action kennt die ImageList für den Button ja gar nicht. Man könnte jetzt die der ActionList nehmen, aber die gibt es häufig gar nicht oder sie passt nicht zu dem Form auf dem der Button liegt (wichtig bei per Monitor DPI).
|
AW: TActionManager + TVirtualImageList + PNG
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 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