Színátmenet

Két szín közötti átmenet kiszámítása. Szükséges: Panel1, Panel2, Panel3, TrackBar1

function atmenet(ca,cb:TColor; ebbol,ennyi:Integer):TColor;
var
r,g,b,x,y:Integer;
begin
ennyi:=Trunc(ennyi * 100 / ebbol);
x:=100-ennyi;
y:=ennyi;
r:=(GetRValue(ca)*10*x+GetRValue(cb)*10*y)div 1000;
g:=(GetGValue(ca)*10*x+GetGValue(cb)*10*y)div 1000;
b:=(GetBValue(ca)*10*x+GetBValue(cb)*10*y)div 1000;
Result:=Rgb(R,G,B);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
panel3.Color:=atmenet(panel1.Color,panel2.Color,TrackBar1.Max,trackbar1.Position);
end;