Delphi-PRAXiS

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/)
-   -   property TColor nur 256 Farben erlauben. (https://www.delphipraxis.net/105740-property-tcolor-nur-256-farben-erlauben.html)

snow 28. Dez 2007 18:48


property TColor nur 256 Farben erlauben.
 
hallo

ich hab (mal wieder) ein kleines problem.

Ich hab ne property, die vom Typ Tcolor ist.

Ich hab auch noch ein paar Imagelisten. Ich setze derzeit die Bkcolor immer nach dieser Property. Dann mach ich etwas mit den bmps(drehen spiegeln etc). Dazu muss ich voher die Tbitmap.pixels auf pf8bit stellen.

so nun hab ich das problem, dass wenn jemand irgendeine nicht pf8bit kompatible farbe auswählt, dass die orginal bitmaps diese farbe als hintergrund haben. Die gedrehten/gespiegelten aber eine referenz farbe aus dem pf8bit system haben. Sprich man sieht einen unterschied.

da 256 Farben für meine anwendung auf jedenfall genug sind. würd ich gerne die property begrenzen also nur pf8bit kompatible farben erlauben wie geht das. gibts igendwie eine spezielle version von TColor vllt TColor256?

gruß snow

mkinzler 28. Dez 2007 18:51

Re: property TColor nur 256 Farben erlauben.
 
Überprüfe das doch im Setter für die Property ob die Farbe Teil der Palette ist bzw. biete nur diese Farben zur Auswahl an.

snow 28. Dez 2007 20:24

Re: property TColor nur 256 Farben erlauben.
 
was haltet ihr davon das Tcolor zuerst auf RGB umzurechnen und dann die integer zu bearbeiten und dann wieder zurückwandeln?

ist halt die frage was die integer zahl den genau bedeutet? und wie man die runden muss.

gruß snow

Muetze1 28. Dez 2007 22:53

Re: property TColor nur 256 Farben erlauben.
 
Zitat:

Zitat von snow
was haltet ihr davon das Tcolor zuerst auf RGB umzurechnen und dann die integer zu bearbeiten und dann wieder zurückwandeln?

Schau mal in die Hilfe zu TColor. Diese beinhaltet schon die RGB Anteile. Dein Problem liegt eher darin, dass die Farben an die nächste passende Farben angepasst werden. Von daher müsstest du überprüfen, ob die der Property zugewiesene Farbe einer Farbe in der Farbtabelle entspricht (wie mkinzler schon schrieb).


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