procedure
TForm1.FormCreate(Sender: TObject);
Var
C,
R, H, W, L : Integer;
Step
: Real;
begin
{
Get form size }
H:=Image1.Height;
W:=Image1.Width;
{
Set fill size }
L:=W
Div 3;
{
Set fill step size }
Step:=255/L;
C:=0;
For
R:=0
To W Do
Begin
{
Select color for gradient starting from RED
to
YELLOW }
{
Change fill color }
If
R<=L
Then
Begin
C:=Round(R*Step);
{
Red -> Green }
Image1.Canvas.Pen.Color:=RGB(255-C,C,0)
End
Else
If R<=2*L Then
Begin
C:=Round((R-L)*Step);
{
Green -> Blue }
Image1.Canvas.Pen.Color:=RGB(0,255-C,C)
End
Else
If R<=3*L
Then
Begin
C:=Round((R-2*L)*Step);
{
Blue -> Yellow }
Image1.Canvas.Pen.Color:=RGB(C,C,255-C);
End;
{
Fill area by drawing lines }
Image1.Canvas.MoveTo(R,0);
Image1.Canvas.LineTo(R,H);
End;
end;