Skip to content
Member Filters
Show Inherited
Show Protected
Show abstract
GR32_Polygons🞂PolyPolylineFunction

PolyPolyline

Renders multiple stroked polyline contours with configurable join styles, cap styles, stroke widths, and span fillers onto a destination bitmap.

Declaration ​

pascal
procedure PolyPolylineFS(Bitmap: TCustomBitmap32; const Points: TArrayOfArrayOfFloatPoint; Color: TColor32; Closed: Boolean = False; StrokeWidth: TFloat = 1.0; JoinStyle: TJoinStyle = jsMiter; EndStyle: TEndStyle = esButt; MiterLimit: TFloat = 4.0; Transformation: TTransformation = nil); overload;
procedure PolyPolylineFS(Bitmap: TCustomBitmap32; const Points: TArrayOfArrayOfFloatPoint; Filler: TCustomPolygonFiller; Closed: Boolean = False; StrokeWidth: TFloat = 1.0; JoinStyle: TJoinStyle = jsMiter; EndStyle: TEndStyle = esButt; MiterLimit: TFloat = 4.0; Transformation: TTransformation = nil); overload;

procedure PolyPolylineXS(Bitmap: TCustomBitmap32; const Points: TArrayOfArrayOfFixedPoint; Color: TColor32; Closed: Boolean = False; StrokeWidth: TFixed = $10000; JoinStyle: TJoinStyle = jsMiter; EndStyle: TEndStyle = esButt; MiterLimit: TFixed = $40000; Transformation: TTransformation = nil); overload;
procedure PolyPolylineXS(Bitmap: TCustomBitmap32; const Points: TArrayOfArrayOfFixedPoint; Filler: TCustomPolygonFiller; Closed: Boolean = False; StrokeWidth: TFixed = $10000; JoinStyle: TJoinStyle = jsMiter; EndStyle: TEndStyle = esButt; MiterLimit: TFixed = $40000; Transformation: TTransformation = nil); overload;

Parameters ​

ParameterTypeDescription
BitmapTCustomBitmap32Destination bitmap.
Points-Array of polyline contours.
ColorTColor32Solid stroke color.
FillerTCustomPolygonFillerCustom span filler.
ClosedBooleanSpecifies whether each polyline contour forms a closed loop.
StrokeWidth-Stroke line width.
JoinStyleTJoinStyleCorner join style (jsMiter, jsBevel, jsRound).
EndStyleTEndStyleLine end cap style (esButt, esSquare, esRound).
MiterLimit-Miter limit ratio before beveling sharp miter joins.
TransformationTTransformationOptional coordinate transformation.

Description ​

The PolyPolyline routines render multiple stroked polyline contours defined by Points onto a destination Bitmap.

Function variants support floating-point (FS) and fixed-point (XS) coordinate inputs as well as solid color or custom span filler rendering. Stroke outlines are generated automatically for all contours according to StrokeWidth, JoinStyle, EndStyle, and MiterLimit.

Variants ​

VariantCoordinate TypeDescription
PolyPolylineFSFloating-pointRenders multiple floating-point polyline contours with antialiased stroke outlines.
PolyPolylineXSFixed-pointRenders multiple fixed-point polyline contours with antialiased stroke outlines.

Example ​

pascal
var
  Lines: TArrayOfArrayOfFloatPoint;
begin
  SetLength(Lines, 2);
  Lines[0] := BuildLine(FloatPoint(10, 10), FloatPoint(100, 10));
  Lines[1] := BuildLine(FloatPoint(10, 50), FloatPoint(100, 50));

  // Render multiple stroke lines
  PolyPolylineFS(Bitmap, Lines, clGreen32, False, 2.5);
end;

See also ​