// komplementäre Farbe ermitteln
function ComplementaryColor(const c: TColor): TColor;
begin
Result := clWhite xor ColorToRGB(c);
end;
// auf komplementäre Farbe prüfen
function isComplementaryColor(c1, c2: TColor): boolean;
begin
c1 := ColorToRGB(c1);
c2 := ColorToRGB(c2);
Result := (c1 and c2 = clBlack)
and (c1 or c2 = clWhite);
end;
// Beispielaufrufe
procedure TForm1.Button3Click(Sender: TObject);
begin
Panel1.color := clRed;
Panel2.color := ComplementaryColor(Panel1.color);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if isComplementaryColor(clBlue, clYellow)
then showmessage('komplementär')
else showmessage('nicht');
end;