uses
GDIPAPI, GDIPOBJ;
procedure TForm1.Button1Click(Sender: TObject);
const
colors: array[0..6] of TGPColor = (aclRed,aclOrange,aclYellow,aclGreen,
aclBlue,aclIndigo,aclViolet);
var
gr: TGPGraphics;
lb: TGPLinearGradientBrush;
pen: TGPPen;
i: integer;
Factor, Position: array[0..10] of Single;
begin
lb := TGPLinearGradientBrush.Create(MakePoint(-152, 0), MakePoint(152, 0),
aclNavy, aclLime);
for i :=0 to 10 do
begin
Factor[i] := Random(11)*0.1;
Position[i] := i*0.1;
end;
lb.SetBlend(@Factor[0], @Position[0], 11);
lb.SetGammaCorrection(true);
pen := TGPPen.Create(lb,1);
gr := TGPGraphics.Create(Canvas.Handle);
for i := 0 to 180 do
begin
gr.ResetTransform;
gr.TranslateTransform(170,20+i);
gr.ScaleTransform(cos(pi*i*2/180),1);
gr.DrawLine(pen,-150,0,150,0);
end;
pen.Free;
for i :=0 to 6 do Position[i] := 1/6*i;
lb.SetInterpolationColors(@colors[0], @Position[0], 7);
pen := TGPPen.Create(lb,1);
for i := 0 to 180 do
begin
gr.ResetTransform;
gr.TranslateTransform(170,220+i);
gr.ScaleTransform(cos(pi*i*2/180),1);
gr.DrawLine(pen,-150,0,150,0);
end;
gr.Free;
pen.Free;
lb.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
Posted by junki560 at 12:09│
Comments(0)│
TrackBack(0)