首页 > 其他 > 详细

画动态多边型

时间:2017-02-07 15:10:16      阅读:270      评论:0      收藏:0      [点我收藏+]
type
  TPtArray = array[0..0] of TPoint;
  PPtArray = ^TPtArray;

procedure DrawDynamicPolyArray(NumPoints : integer;
                               Canvas : TCanvas);
var
  p : PPtArray;
  i : integer;
begin
{$IFOPT R+}
  {$DEFINE CKRANGE}
  {$R-}
{$ENDIF}
  GetMem(p, sizeof(TPoint) * NumPoints);
  Randomize;
  for i := 0 to (NumPoints -1) do begin
    p^[i].x := Random(Form1.Width);
    p^[i].y := Random(Form1.Height);
  end;
  Polygon(Canvas.Handle, p, NumPoints);
  FreeMem(p, sizeof(TPoint) * NumPoints);
{$IFDEF CKRANGE}
  {$UNDEF CKRANGE}
  {$R+}
{$ENDIF}
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.Canvas.Brush.Color := clWhite;
  Form1.Canvas.FillRect(Rect(0, 0, Form1.Width, Form1.Height));
  Form1.Canvas.Brush.Color := clRed;
  DrawDynamicPolyArray(SpinEdit1.Value,
                       Form1.Canvas);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SpinEdit1.MinValue := 2;
  SpinEdit1.MaxValue := 1000;
  SpinEdit1.Value := 100;
end;

end.

 

画动态多边型

原文:http://www.cnblogs.com/yzryc/p/6374037.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!