Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Gegenfarbe zu Hintergrund / Invertieren (https://www.delphipraxis.net/158404-gegenfarbe-zu-hintergrund-invertieren.html)

BlueStarHH 16. Feb 2011 11:44

Gegenfarbe zu Hintergrund / Invertieren
 
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;

stahli 16. Feb 2011 11:50

AW: Gegenfarbe zu Hintergrund / Invertieren
 
Evtl. kann Dir die Ermittlung der Helligkeit helfen.

Blup 16. Feb 2011 12:46

AW: Gegenfarbe zu Hintergrund / Invertieren
 
Vieleicht helfen diese Funktionen:
GraphUtil.GetHighLightColor
GraphUtil.GetShadowColor


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz