Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: RGB-Gegenteil-Farbe ermitteln

  Alt 18. Jul 2018, 09:05
Wir nutzen diese Funktion hier, um die Schriftfarbe entsprechend dem Hintergrund zu wählen (aber nur entweder schwarz oder weiß) - das funktioniert dann so wie in dem Artikel, den Sakura gelinkt hat.

Delphi-Quellcode:
function ContrastColor(AColor: TColor): TColor;
type
  TRGB = packed record
    R, G, B, X: Byte;
  end;
var
  LColor: TRGB;
  LLuminance: Double;
begin
  Integer(LColor) := AColor;

  // Counting the perceptive luminance - human eye favors green color...
  // see https://de.wikipedia.org/wiki/Luminanz
  LLuminance := (0.2126 * LColor.R + 0.7152 * LColor.G + 0.0722 * LColor.B) / 255;

  if LLuminance > 0.5 then
    Result := clBlack
  else
    Result := clWhite; // dark colors - white font
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (18. Jul 2018 um 09:11 Uhr)
  Mit Zitat antworten Zitat