Delphi-PRAXiS
Seite 2 von 2     12   

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 BitBtn ohne transparenz nutzen (https://www.delphipraxis.net/207839-bitbtn-ohne-transparenz-nutzen.html)

Bernhard Geyer 8. Mai 2021 12:38

AW: BitBtn ohne transparenz nutzen
 
Zitat:

Zitat von KodeZwerg (Beitrag 1488882)
Wäre es nicht viel einfacher das Bild in einem Bild-Editor zu öffnen, Alpha-Kanal löschen oder eben den punkt in der Ecke, Bild speichern, Fertig?

Alpha-Kanal in einem 24-Bit Bitmap?

Diese antiken Delphis können nur mit Zusatzkomponenten mit PNG oder 32-Bit BMPs umgehen.
In neueren Delphis gibt einige dieser Probleme nicht (mehr), da man hier flexibler durch die Erweiterungen der letzten 20 Jahre zu seinem Ziel kommt.

himitsu 8. Mai 2021 12:40

AW: BitBtn ohne transparenz nutzen
 
Jupp, @KodeZwerg,

die Transparenz kommt hier eben nicht aus dem Bild, sondern von Delphi-Referenz durchsuchenTButtonGlyph, welches dieses eine Pixel verwendet und alle anderen gleichfarbigen Pixel transparent darstellt.

In neueren Delphis wurden viele Standard-Kommponenten aufgemotzt überarbeitet und können nun oft auch direkt JPG oder PNG (nicht nur BMP und manchmal ICO) und eben auch die Transparenzen und Alphakanäle der Bilder richtig darstellen.

TImagleList in den alten Delphis nimmt beim Einfügen eines Bildes die Transparenzfarbe, welche sich vor dem Speichern noch ändern lässt, und generiert daraus eine Maske (zusätzliches SW-Bitmap mit den transparenten Pixeln).
Diese Maske kann auch leer sein und dann gibt es eben keine Transparenz.

Die neuste TImageList (FMX) kann auch z.B. PNG direkt speichern, anstatt nur BMP/ICO.

KodeZwerg 8. Mai 2021 13:00

AW: BitBtn ohne transparenz nutzen
 
Aber Ihr habt schon bemerkt das ich auch den punkt angesprochen habe mit einem "oder" davor.

Sorry, ich wollte nur helfen, ich lasse es bleiben, okay.

himitsu 8. Mai 2021 13:19

AW: BitBtn ohne transparenz nutzen
 
Wie schon gesagt wurde, dieser alte BitBtn verwendet immer das Pixel links-unten.

Ja, die Farben im Bild zu ändern, bzw. die Farbe des einen Pixls, geht natürlich. (aber mindestens dieses eine Pixel bleibt immer transparent)
Oder man nimmt eben einen anderen Button, welcher auch andere Zeichenmethoden kennt, bzw. man ändert was am BitBtn, damit der anders malt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
Seite 2 von 2     12   

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