|
<草稿>使用TGPGraphics, 在窗体上绘制5边形:
- uses
- Gdiplus;
-
- procedure TForm1.FormPaint(Sender: TObject);
- var
- Graphics: TGPGraphics;
- Pen: TGPPen;
- Path: TGPGraphicsPath;
- Points: array[0..4] of TGPPoint;
- begin
- Graphics := TGPGraphics.Create(Canvas.Handle);
- Pen := TGPPen.Create(MakeColor(255, 0, 0, 255), 2); // 蓝色边框的画笔
- Path := TGPGraphicsPath.Create;
-
- // 设置五边形的顶点坐标
- Points[0].X := ClientWidth / 2;
- Points[0].Y := 10;
- Points[1].X := ClientWidth / 4;
- Points[1].Y := ClientHeight - 10;
- Points[2].X := ClientWidth / 2;
- Points[2].Y := ClientHeight - 10;
- Points[3].X := ClientWidth * 3 / 4;
- Points[3].Y := ClientHeight - 10;
- Points[4].X := ClientWidth / 2;
- Points[4].Y := 10;
-
- // 添加多边形路径
- Path.AddPolygon(PGPPoint(@Points), Length(Points));
-
- // 绘制多边形
- Graphics.DrawPath(Pen, Path);
-
- Path.Free;
- Pen.Free;
- Graphics.Free;
- end;
复制代码
在这个例子中,我们首先创建了一个TGPGraphics对象来处理绘图,然后创建了一个TGPPen对象来指定线条的颜色和宽度。接着,我们创建了一个TGPGraphicsPath对象,并使用AddPolygon方法添加了一个五边形。最后,我们使用DrawPath方法来绘制多边形。
你可以将这段代码放入一个窗体的OnPaint事件中,以确保每次窗体重绘时都会显示多边形。记得在实际使用时,需要将GDI+初始化,并在不使用时释放资源。 |
|