![]() |
Probleme mit Image Transparenz bei 24bit
Hallo,
ich habe in meinem Form ein Image, dass ich als Statusanzeige wie folgt nutze:
Delphi-Quellcode:
Bei 24bit-Farbtiefe sieht das Ergebnis OK aus und die Transparenz vom Image arbeitet auch. Nur bei 32 bit Farbtiefe arbeitet die Transparenz nicht richtig, um nicht zu sagen, gar nicht.
tmpBmp := TBitmap.Create;
try if AllesOK then ImageListIcon.GetBitmap(idNotOK,tmpBmp) else ImageListIcon.GetBitmap(idOK ,tmpBmp); ImageStatus.Picture.Bitmap := tmpBmp; finally tmpBmp.Free; end; // try Hat jemand eine Idee, was ich anders machen könnte? |
Re: Probleme mit Image Transparenz bei 24bit
Sicher das es nicht anders herum ist?
Das würde mir jetzt zumindest mein Verstand sagen, denn 24 und 32 Bit haben ja jeweils 2^24 (irgendwas mit 16 Mio...) Farben. Die zusätzlichen 8 Bit sind meines Wissen nach Alpha-Werte, die für die Transparenz zuständig sind. Ich hoffe ich habe jetzt kein Mist erzählt. Eine richtige Lösung habe ich aber f+ür dein Problem auch nicht. |
Re: Probleme mit Image Transparenz bei 24bit
Nein, es ist nicht anders rum. Bei 24bit geht es :wall:
Naja, aber der AlphaChannel wird auch nicht verwendet. Image blendet einfach die Farbe im Pixel unten links im ganzen Bild aus. Aber genau das tut nicht, bei 32 bit, wenn ich es aus der ImageList lade... |
Re: Probleme mit Image Transparenz bei 24bit
Ich habe das Problem lösen können:
Delphi-Quellcode:
Der Umweg über die Bitmap geht offensichtlich nicht stabil, aber so ist es auch recht. Warum ich damals den Umweg über die Bitmap eingebaut habe, weiß ich aber heute auch nicht mehr.
if AllesOK
then ImageListIcon.GetBitmap(idNotOK,ImageStatus.Picture.Bitmap) else ImageListIcon.GetBitmap(idOK ,ImageStatus.Picture.Bitmap); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 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 by Thomas Breitkreuz