Hallo,
ich habe eine unbekannte Hintergrundfarbe. Darauf möchte ich einen Text ausgeben, der immer lesbar sein soll. Die Textfarbe ist dann einfach die invertierte Hintergrundfarbe. Bei Grautönen im Hintergrund klappt das jedoch nicht. Da müsste der Text entweder weiß oder schwarz werden, je nachdem ob es ein dunkles grau oder helles grau im Hintergrund gibt. Ich nutze folgenden Code. Wie muss ich ihn ändern, damit er auch bei Grautönen die gewünschten Ergebnisse liefert?
Delphi-Quellcode:
function InvertColor(Color: TColor): TColor;
begin
Color := ColorToRGB(Color);
Result :=
RGB($FF - GetRValue(Color),
$FF - GetGValue(Color),
$FF - GetBValue(Color));
end;