function hell(a: integer): integer;
asm
add eax, $64
cmp eax, $FF
jle @fertig
mov eax, $FF
@fertig:
end;
function dunkel(a: integer): integer;
asm
sub eax, $32
cmp eax, 0
jge @fertig
xor eax, eax
@fertig:
end;
function Aufhellen(Farbe: TColor): TColor;
begin
Farbe := ColorToRGB(Farbe);
Result := RGB(hell(GetRValue(Farbe)),
hell(GetGValue(Farbe)),
hell(GetBValue(Farbe)));
end;
function Abdunkeln(Farbe: TColor): TColor;
begin
Farbe := ColorToRGB(Farbe);
Result := RGB(dunkel(GetRValue(Farbe)),
dunkel(GetGValue(Farbe)),
dunkel(GetBValue(Farbe)));
end;
// Beispielaufruf
procedure TForm2.Button1Click(Sender: TObject);
begin
panel1.color := $336699;
panel2.color := Abdunkeln(panel1.color);
panel3.color := Aufhellen(panel1.color);
panel1.Font.color := Aufhellen(panel1.color);
panel2.Font.color := Aufhellen(panel1.color);
panel3.Font.color := Abdunkeln(panel1.color);
end;