//闭合曲线
var
  g: TGPGraphics;
  p: TGPPen;
  sb: TGPSolidBrush;
  pts: array[0..4] of TGPPoint;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  sb := TGPSolidBrush.Create(MakeColor(255,255,255));
  p := TGPPen.Create(MakeColor(255,0,0),4);

  pts[0].X := 77;  pts[0].Y := 44;
  pts[1].X := 66;  pts[1].Y := 111;
  pts[2].X := 88;  pts[2].Y := 222;
  pts[3].X := 111; pts[3].Y := 88;
  pts[4].X := 222; pts[4].Y := 66;

  g.DrawClosedCurve(p, PGPPoint(@pts), Length(pts), 2.5);
  {参数 4 是曲度, 可选, 默认 0.5}

  g.FillClosedCurve(sb, PGPPoint(@pts), Length(pts), FillModeAlternate, 2.5);
  {既然是闭合的就可以填充, 参数 4 是填充模式, 另一个可选值是: FillModeWinding}

  p.Free;
  sb.Free;
  g.Free;
end;
posted on 2007-12-27 19:06  万一  阅读(2861)  评论(0编辑  收藏  举报