Получил вот это:
Код: Выделить всё
If Visible=true then
begin
r1:=Red(ColorToRGB(FColorStart));
g1:=Green(ColorToRGB(FColorStart));
b1:=Blue(ColorToRGB(FColorStart));
r2:=Red(ColorToRGB(FColorStop));
g2:=Green(ColorToRGB(FColorStop));
b2:=Blue(ColorToRGB(FColorStop));
h:=Height-1;
with Canvas do
begin
Lock;
Pen.Style:=psSolid;
for i:=0 to h do
begin
Pen.Color:=RGB(r1-(r1-r2) div h*i,g1-(g1-g2) div h*i,b1-(b1-b2) div h*i);
MoveTo(0,i);
LineTo(Width-1,i);
end;
Unlock;
end;
end;
При допустим Height:=50 градиент отображается просто замечтательно, однако при увеличении Height градиент искажается а в районе 200 и выше весь канвас принимает цвет FColorStart. В чём дифект подскажите пожалуйста.
