Die zweite Prozedur muß aussehen, wie die erste:
Delphi-Quellcode:
Procedure TForm1.Button2click;
Var R, G, B: Byte;
Farbe: TColor;
HD: ShortInt;
{ -100..0 = dunkler / 0..100 = heller }
Begin
HD := 10;
Farbe := ColorToRGB(Color);
R := (Farbe
and $000000FF);
G := (Farbe
and $0000FF00)
shr 8;
B := (Farbe
and $00FF0000)
shr 16;
(*
R := R + ((255 - R) * HD div 100);
G := G + ((255 - G) * HD div 100);
B := B + ((255 - B) * HD div 100);
*)
R := R + (R * HD
div 100);
G := G + (G * HD
div 100);
B := B + (B * HD
div 100);
Color :=
RGB(R, G, B);
memo1.lines.add('
***** heller ***** '+IntToStr (g));
End;
Und das bedeutet, man braucht eigentlich nur eine ! Das ganze kann dann einfach über den Wert von HD gesteuert werden.