![](https://i-blog.csdnimg.cn/blog_migrate/718c6cdf4f8b02ce0a31d298d90e8a93.gif)
//画贝塞尔曲线
var
g: TGPGraphics;
p: TGPPen;
begin
g := TGPGraphics.Create(Canvas.Handle);
p := TGPPen.Create(MakeColor(255,0,0),2);
g.DrawBezier(p, 11,11, 88,333, 99,0, 222,111); {参数是画笔与 4 个点的坐标}
p.Free;
g.Free;
end;
![](https://i-blog.csdnimg.cn/blog_migrate/e89364b75b343b42ef54f8891fd0d3e4.gif)
//使用 TGPPoint 或 TGPPointF
var
g: TGPGraphics;
p: TGPPen;
const
points: array[0..3] of TGPPoint = ((x:11; y:11),
(x:88; y:333),
(x:99; y:0),
(x:222; y:111));
begin
g := TGPGraphics.Create(Canvas.Handle);
p := TGPPen.Create(MakeColor(255,0,0),2);
g.DrawBezier(p, points[0], points[1], points[2], points[3]); {用了 4 个常数点}
p.Free;
g.Free;
end;
![](https://i-blog.csdnimg.cn/blog_migrate/74b1788385d7421414f451d1d9d6dd14.gif)
var
g:TGPGraphics;
p:TGPPen;
pts:array[0..6] of TGPPoint; //数组元素必须是 3 的倍数加 1
begin
g:=TGPGraphics.Create(Canvas.Handle);
g.Clear(aclWhite);
p:=TGPPen.Create(aclRed,4);
pts[0]:=MakePoint(30,44);
pts[1]:=MakePoint(80,111);
pts[2]:=MakePoint(88,222);
pts[3]:=MakePoint(111,88);
pts[4]:=MakePoint(132,222);
pts[5]:=MakePoint(222,111);
pts[6]:=MakePoint(256,11);
g.DrawBeziers(p,PGPPoint(@pts),Length(pts));
p.Free;
g.Free;
end;