![]() |
Farbe verdunkeln / aufhellen
Hallo!
Ich habe ein kleines "Umsetzungsproblem" mit TColor... Ich erhalte in einer Funktion als Übergabeparameter eine Farbe, also vom Typ TColor. Diese Farbe möchte ich nun abdunkeln bzw. aufhellen und dann als funktionsergebnis zurückliefern.
Delphi-Quellcode:
Mir fehlt momentan irgendwie der richtige Ansatz.
Function XY(Color : TColor) : TColor;
begin ??? end; Kann mir jemand weiterhelfen? Gruss, Steffen |
Hallo!
So ganz spontan fällt mir eine einfache aber nicht unbedingt optimale Variante ein... Zerlege die Ausgangsfarbe in ihre Rot/Grün/Blau-Bestandteile, z.B.
Code:
Erhöhe bzw. verringere alle drei ausgelesenen Werte um jeweils den gleichen Betrag und weise das Ergebnis dem Funktions-Result zu:
red:=GetRValue(ColorToRGB(Color));
Code:
Dabei unbedingt darauf achten, dass 0 <= Farbwert <= 255 gilt. Vielleicht reicht Dir die Variante ja?!
Result := RGB(red,green,blue);
Denny |
Danke Denny! :)
Das ist schon mal eine gute, wenn auch nicht optimale, Idee. :idea: Ich werde gleich mal ein wenig damit "herum spielen"... Gruss, Steffen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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