Vieles steht darüber im Forum geschrieben, aber nichts konnte mir weiterhelfen.
ganz einfache Frage, erwarte ganz unkomplizierte Lösung;
Ich habe einen farbwert, und will den dafür passenden Graustufen (oder Schwarz-Weiss)
Farbwert.
Ich hab zum Beispiel folgende Funktion dafür geschrieben, leider ist
sie mir etwas ZU Blödsinnig, und gibt zu wenig verschiedene Farbwerte zurück!
Also er funktioniert nicht ganz korrekt, meines erachtens.
Delphi-Quellcode:
function TEButton.GetMonoColorValue(Color: TColor): TColor;
begin
if (GetRValue(Color)>GetGValue(Color))
and (GetRValue(Color)>GetBValue(Color))
then
Color :=
RGB(GetRValue(Color),GetRValue(Color),GetRValue(Color))
else if (GetGValue(Color)>GetRValue(Color))
and (GetGValue(Color)>GetBValue(Color))
then
Color :=
RGB(GetGValue(Color),GetGValue(Color),GetGValue(Color))
else if (GetBValue(Color)>GetRValue(Color))
and (GetBValue(Color)>GetGValue(Color))
then
Color :=
RGB(GetBValue(Color),GetBValue(Color),GetBValue(Color));
result := Color;
end;
Und bitte schreibt nicht...
DP suche.. wenn Ihr was WIRKLICH brauchbares in der Suche gefunden habt,
dann könnt ihr ja den direkten Link mitgeben, das wäre auch schon toll...
Oder gibt es die möglichkeit ein Canvas auf Graustufen einzustellen. z.B. Canvas.MonoColors := true oder son scheiss...