Eine Hilfsfunktion errechtet die Kontrastfarbe zum Hintergrund:
Delphi-Quellcode:
function BlackWhiteContrastColor(value: TColor):TColor;
var
t : Integer;
begin
value := ColorToRGB(value);
t := GetBValue(value) * 21 // Blue
+ GetGValue(value) * 174 // Green
+ GetRValue(value) * 61; // Red
if t >= (128*256) then
Result := clBlack
else
Result := clWhite;
end;
Und damit:
Grid.Canvas.Font.Color:= BlackWhiteContrastColor(Grid.Canvas.Color);