Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
801 Beiträge
 
Delphi 11 Alexandria
 
#1

Gegenfarbe zu Hintergrund / Invertieren

  Alt 16. Feb 2011, 11:44
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;
  Mit Zitat antworten Zitat