Thema: Delphi Kontrastfarbe ermitteln

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Kontrastfarbe ermitteln

  Alt 30. Sep 2004, 09:36
Je nach Hintergrundfarbe lässt sich ein Text besser lesen, wenn er in Weiss oder Schwarz gedruckt/gezeichnet wird.
Die folgende Funktion ermittelt die passende Kontrastfarbe für eine bestimmte Hintergrundfarbe.

Delphi-Quellcode:
{**************************************************************************
* NAME:    BlackWhiteContrastColor
* DESC:    Berechne die Kontrastfarbe (nur schwarz oder weiss)
*          zur übergebenen Farbe
*************************************************************************}

function BlackWhiteContrastColor(value: TColor):TColor;
var
  intensity : Integer;
begin
  value := ColorToRGB(value);

  intensity := GetBValue(value) * 21 // Blue
    + GetGValue(value) * 174 // Green
    + GetRValue(value) * 61; // Red

   // intensity = 0 -> dark
   // intensity = 255*256 -> bright

  if intensity >= (128*256) then
    Result := clBlack
  else
    Result := clWhite;
end;
Andreas
  Mit Zitat antworten Zitat