// Mit dem folgenden Code kann man Farben aufhellen bzw. abdunkeln.

// Getestet mit D4 unter XP
 

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;




 

Zugriffe seit 6.9.2001 auf Delphi-Ecke