# Vcl.Graphics.TCanvas.PolyBezier

Delphi

```
procedure PolyBezier(const Points: array of TPoint); override;
```

C++

```
virtual void __fastcall PolyBezier(const System::Types::TPoint *Points, const int Points_High);
```

#### Properties

Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|

procedure function |
public | Vcl.Graphics.pas Vcl.Graphics.hpp |
Vcl.Graphics | TCanvas |

## Description

Draws a set of Bezier curves.

Use PolyBezier to draw cubic Bezier curves using the endpoints and control points specified by the Points parameter. The first curve is drawn from the first point to the fourth point, using the second and third points as control points. Each subsequent curve in the sequence needs exactly three more points: the ending point of the previous curve is used as the starting point, the next two points in the sequence are control points, and the third is the ending point.

The Points parameter gives the endpoints to use when generating the Bezier curves.

Note:The Points_Size parameter is the index of the last point in the array (one less than the total number of points).

This procedure draws lines by using the current pen.

Note:In Delphi, you can use the Slice function to pass a portion of an array of points to the PolyBezier method. For example, to form a Bezier curve using the first ten points from an array of 100 points, use the Slice function as follows:

Canvas.PolyBezier(Slice(PointArray, 10));

Control points after a[Index+3] are ignored. Nothing happens if there aren't enough control points.