• DR-IT Software
  • Products
  • Documentation
  • Product page
  • Examples
  • API reference
  • Support
Show / Hide Table of Contents

Class GraphicsPath

Represents a series of connected lines and curves that form a closed or open shape.

Inheritance
object
GraphicsPath
Implements
IDisposable
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: DRIT.Drawing.Drawing2D
Assembly: DRIT.Drawing.dll
Syntax
public sealed class GraphicsPath : IDisposable
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Constructors

GraphicsPath()

Initializes a new GraphicsPath with the default fill mode.

Declaration
public GraphicsPath()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

GraphicsPath(FillMode)

Initializes a new GraphicsPath with the specified fill mode.

Declaration
public GraphicsPath(FillMode fillMode)
Parameters
Type Name Description
FillMode fillMode

The fill mode that determines how the interior of the path is filled.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

GraphicsPath(PointF[], byte[], FillMode)

Initializes a new GraphicsPath from an array of points and types.

Declaration
public GraphicsPath(PointF[] pts, byte[] types, FillMode fillMode = FillMode.Alternate)
Parameters
Type Name Description
PointF[] pts

The array of points that define the path.

byte[] types

The array of point types that define the corresponding point types.

FillMode fillMode

The fill mode that determines how the interior of the path is filled.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Properties

FillMode

Gets or sets the fill mode for this path.

Declaration
public FillMode FillMode { get; set; }
Property Value
Type Description
FillMode
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

PathData

Gets the path data for this path.

Declaration
public PathData PathData { get; }
Property Value
Type Description
PathData
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

PathPoints

Gets the array of points in this path.

Declaration
public PointF[] PathPoints { get; }
Property Value
Type Description
PointF[]
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

PathTypes

Gets the array of point types in this path.

Declaration
public byte[] PathTypes { get; }
Property Value
Type Description
byte[]
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

PointCount

Gets the number of points in this path.

Declaration
public int PointCount { get; }
Property Value
Type Description
int
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

PreferPolyline16

Gets or sets whether logical-scale line segments should use 16-bit polyline records.

Declaration
public bool PreferPolyline16 { get; set; }
Property Value
Type Description
bool
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Methods

AddArc(Rectangle, float, float)

Adds an arc to this path.

Declaration
public void AddArc(Rectangle rect, float startAngle, float sweepAngle)
Parameters
Type Name Description
Rectangle rect

The bounding rectangle of the arc.

float startAngle

The starting angle of the arc in degrees.

float sweepAngle

The sweep angle of the arc in degrees.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddArc(RectangleF, float, float)

Adds an arc to this path.

Declaration
public void AddArc(RectangleF rect, float startAngle, float sweepAngle)
Parameters
Type Name Description
RectangleF rect

The bounding rectangle of the arc.

float startAngle

The starting angle of the arc in degrees.

float sweepAngle

The sweep angle of the arc in degrees.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddArc(float, float, float, float, float, float)

Adds an arc to this path.

Declaration
public void AddArc(float x, float y, float width, float height, float startAngle, float sweepAngle)
Parameters
Type Name Description
float x

The x-coordinate of the upper-left corner of the bounding rectangle.

float y

The y-coordinate of the upper-left corner of the bounding rectangle.

float width

The width of the bounding rectangle.

float height

The height of the bounding rectangle.

float startAngle

The starting angle of the arc in degrees.

float sweepAngle

The sweep angle of the arc in degrees.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddBezier(PointF, PointF, PointF, PointF)

Adds a cubic Bézier curve to this path.

Declaration
public void AddBezier(PointF pt1, PointF pt2, PointF pt3, PointF pt4)
Parameters
Type Name Description
PointF pt1

The starting point of the curve.

PointF pt2

The first control point for the curve.

PointF pt3

The second control point for the curve.

PointF pt4

The ending point of the curve.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddBezier(float, float, float, float, float, float, float, float)

Adds a cubic Bézier curve to this path.

Declaration
public void AddBezier(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4)
Parameters
Type Name Description
float x1

The x-coordinate of the starting point.

float y1

The y-coordinate of the starting point.

float x2

The x-coordinate of the first control point.

float y2

The y-coordinate of the first control point.

float x3

The x-coordinate of the second control point.

float y3

The y-coordinate of the second control point.

float x4

The x-coordinate of the ending point.

float y4

The y-coordinate of the ending point.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddBeziers(PointF[])

Adds a series of connected Bézier curves to this path.

Declaration
public void AddBeziers(PointF[] points)
Parameters
Type Name Description
PointF[] points

The array of points that define the curves. Must have length 1 + 3n.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddClosedCurve(PointF[], float)

Adds a closed curve to this path.

Declaration
public void AddClosedCurve(PointF[] points, float tension = 0.5)
Parameters
Type Name Description
PointF[] points

The array of points that define the curve.

float tension

The tension of the curve (0.0 to 1.0).

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddCurve(PointF[])

Adds a cardinal spline curve to this path.

Declaration
public void AddCurve(PointF[] points)
Parameters
Type Name Description
PointF[] points

The array of points that define the curve.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddCurve(PointF[], int, int, float)

Adds a cardinal spline curve to this path with the specified offset, number of segments, and tension.

Declaration
public void AddCurve(PointF[] points, int offset, int numberOfSegments, float tension)
Parameters
Type Name Description
PointF[] points

The array of points that define the curve.

int offset

The offset in the points array where the curve begins.

int numberOfSegments

The number of segments in the curve.

float tension

The tension of the curve (0.0 to 1.0).

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddCurve(PointF[], float)

Adds a cardinal spline curve to this path with the specified tension.

Declaration
public void AddCurve(PointF[] points, float tension)
Parameters
Type Name Description
PointF[] points

The array of points that define the curve.

float tension

The tension of the curve (0.0 to 1.0).

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddEllipse(Rectangle)

Adds an ellipse to this path.

Declaration
public void AddEllipse(Rectangle rect)
Parameters
Type Name Description
Rectangle rect

The bounding rectangle of the ellipse.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddEllipse(RectangleF)

Adds an ellipse to this path.

Declaration
public void AddEllipse(RectangleF rect)
Parameters
Type Name Description
RectangleF rect

The bounding rectangle of the ellipse.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddEllipse(float, float, float, float)

Adds an ellipse to this path.

Declaration
public void AddEllipse(float x, float y, float width, float height)
Parameters
Type Name Description
float x

The x-coordinate of the upper-left corner of the bounding rectangle.

float y

The y-coordinate of the upper-left corner of the bounding rectangle.

float width

The width of the ellipse.

float height

The height of the ellipse.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddLine(PointF, PointF)

Adds a line to this path.

Declaration
public void AddLine(PointF pt1, PointF pt2)
Parameters
Type Name Description
PointF pt1

The start point of the line.

PointF pt2

The end point of the line.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddLine(float, float, float, float)

Adds a line to this path.

Declaration
public void AddLine(float x1, float y1, float x2, float y2)
Parameters
Type Name Description
float x1

The x-coordinate of the start point.

float y1

The y-coordinate of the start point.

float x2

The x-coordinate of the end point.

float y2

The y-coordinate of the end point.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddLines(PointF[])

Adds a series of connected lines to this path.

Declaration
public void AddLines(PointF[] points)
Parameters
Type Name Description
PointF[] points

The array of points that define the lines.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddPath(GraphicsPath, bool)

Adds the specified path to this path.

Declaration
public void AddPath(GraphicsPath addingPath, bool connect)
Parameters
Type Name Description
GraphicsPath addingPath

The path to add.

bool connect

Whether to connect the added path to the current path.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddPolygon(PointF[])

Adds a polygon to this path.

Declaration
public void AddPolygon(PointF[] points)
Parameters
Type Name Description
PointF[] points

The array of points that define the polygon.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddPolygon(Point[])

Adds a polygon to this path.

Declaration
public void AddPolygon(Point[] points)
Parameters
Type Name Description
Point[] points

The array of points that define the polygon.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddRectangle(Rectangle)

Adds a rectangle to this path.

Declaration
public void AddRectangle(Rectangle rect)
Parameters
Type Name Description
Rectangle rect

The rectangle to add.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddRectangle(RectangleF)

Adds a rectangle to this path.

Declaration
public void AddRectangle(RectangleF rect)
Parameters
Type Name Description
RectangleF rect

The rectangle to add.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddRectangles(RectangleF[])

Adds a series of rectangles to this path.

Declaration
public void AddRectangles(RectangleF[] rects)
Parameters
Type Name Description
RectangleF[] rects

The array of rectangles to add.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddRectangles(Rectangle[])

Adds a series of rectangles to this path.

Declaration
public void AddRectangles(Rectangle[] rects)
Parameters
Type Name Description
Rectangle[] rects

The array of rectangles to add.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddRichText(string, FontFamily, int, float, RichTextOptions?, PointF, StringFormat?)

Adds rich text to this path, allowing mixed fonts, styles, sizes, and brushes.

Declaration
public void AddRichText(string s, FontFamily family, int style, float emSize, RichTextOptions? options, PointF origin, StringFormat? format)
Parameters
Type Name Description
string s
FontFamily family
int style
float emSize
RichTextOptions options
PointF origin
StringFormat format
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddRichText(string, FontFamily, int, float, RichTextOptions?, RectangleF, StringFormat?)

Adds rich text to this path within the specified layout rectangle.

Declaration
public void AddRichText(string s, FontFamily family, int style, float emSize, RichTextOptions? options, RectangleF layoutRect, StringFormat? format)
Parameters
Type Name Description
string s
FontFamily family
int style
float emSize
RichTextOptions options
RectangleF layoutRect
StringFormat format
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddString(string, FontFamily, int, float, PointF, StringFormat?)

Adds a text string to this path.

Declaration
public void AddString(string s, FontFamily family, int style, float emSize, PointF origin, StringFormat? format)
Parameters
Type Name Description
string s

The string to add.

FontFamily family

The font family.

int style

The font style.

float emSize

The em size of the font.

PointF origin

The origin point.

StringFormat format

The string format.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddString(string, FontFamily, int, float, RectangleF, StringFormat?)

Adds a text string to this path.

Declaration
public void AddString(string s, FontFamily family, int style, float emSize, RectangleF layoutRect, StringFormat? format)
Parameters
Type Name Description
string s

The string to add.

FontFamily family

The font family.

int style

The font style.

float emSize

The em size of the font.

RectangleF layoutRect

The layout rectangle.

StringFormat format

The string format.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddStringOnPath(string, FontFamily, int, float, GraphicsPath)

Adds a text string laid out along the specified baseline path. Each glyph is positioned on the path and rotated to follow the path tangent.

Declaration
public void AddStringOnPath(string s, FontFamily family, int style, float emSize, GraphicsPath baselinePath)
Parameters
Type Name Description
string s

The string to add.

FontFamily family

The font family.

int style

The font style.

float emSize

The em size of the font in points.

GraphicsPath baselinePath

The baseline path along which to lay out the text, in pixel coordinates.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddStringOnPath(string, FontFamily, int, float, GraphicsPath, StringFormat?)

Adds a text string laid out along the specified baseline path.

Declaration
public void AddStringOnPath(string s, FontFamily family, int style, float emSize, GraphicsPath baselinePath, StringFormat? format)
Parameters
Type Name Description
string s

The string to add.

FontFamily family

The font family.

int style

The font style.

float emSize

The em size of the font in points.

GraphicsPath baselinePath

The baseline path along which to lay out the text, in pixel coordinates.

StringFormat format

The string format (only Alignment is used), or null for default.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

AddStringOnPath(string, FontFamily, int, float, GraphicsPath, StringFormat?, TextOnPathOptions?)

Adds a text string laid out along the specified baseline path.

Declaration
public void AddStringOnPath(string s, FontFamily family, int style, float emSize, GraphicsPath baselinePath, StringFormat? format, TextOnPathOptions? options)
Parameters
Type Name Description
string s

The string to add.

FontFamily family

The font family.

int style

The font style.

float emSize

The em size of the font in points.

GraphicsPath baselinePath

The baseline path along which to lay out the text, in pixel coordinates.

StringFormat format

The string format (only Alignment is used), or null for default.

TextOnPathOptions options

Placement options (start offset, perpendicular offset, overflow), or null for defaults.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Clone()

Creates an exact copy of this GraphicsPath.

Declaration
public GraphicsPath Clone()
Returns
Type Description
GraphicsPath

A new GraphicsPath that is a copy of this instance.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

CloseAllFigures()

Closes all open figures in this path.

Declaration
public void CloseAllFigures()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

CloseFigure()

Closes the current figure by connecting a line from the current point to the start point.

Declaration
public void CloseFigure()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Dispose()

Releases all resources used by this GraphicsPath.

Declaration
public void Dispose()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Flatten()

Flattens this path using the default flatness.

Declaration
public void Flatten()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Flatten(Matrix?)

Flattens this path using the specified transformation matrix and default flatness.

Declaration
public void Flatten(Matrix? matrix)
Parameters
Type Name Description
Matrix matrix

The transformation matrix to apply before flattening.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Flatten(Matrix?, float)

Flattens this path using the specified transformation matrix and flatness.

Declaration
public void Flatten(Matrix? matrix, float flatness)
Parameters
Type Name Description
Matrix matrix

The transformation matrix to apply before flattening.

float flatness

The maximum allowable error between the curve and the flattened line.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

GetBounds()

Gets the bounding rectangle of this path.

Declaration
public RectangleF GetBounds()
Returns
Type Description
RectangleF

The bounding rectangle.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

GetBounds(Matrix?)

Gets the bounding rectangle of this path after applying the specified transformation.

Declaration
public RectangleF GetBounds(Matrix? matrix)
Parameters
Type Name Description
Matrix matrix

The transformation matrix.

Returns
Type Description
RectangleF

The bounding rectangle.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

GetBounds(Matrix?, Pen?)

Gets the bounding rectangle of this path after applying the specified transformation and pen width.

Declaration
public RectangleF GetBounds(Matrix? matrix, Pen? pen)
Parameters
Type Name Description
Matrix matrix

The transformation matrix.

Pen pen

The pen used to determine the width of the bounding rectangle.

Returns
Type Description
RectangleF

The bounding rectangle.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

IsOutlineVisible(PointF, Pen)

Determines whether the specified point is contained within the outline of this path.

Declaration
public bool IsOutlineVisible(PointF pt, Pen pen)
Parameters
Type Name Description
PointF pt

The point to test.

Pen pen

The pen used to determine the width of the outline.

Returns
Type Description
bool

true if the point is contained within the outline; otherwise, false.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

IsVisible(PointF)

Determines whether the specified point is contained within this path.

Declaration
public bool IsVisible(PointF pt)
Parameters
Type Name Description
PointF pt

The point to test.

Returns
Type Description
bool

true if the point is contained within the path; otherwise, false.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

IsVisible(float, float)

Determines whether the specified point is contained within this path.

Declaration
public bool IsVisible(float x, float y)
Parameters
Type Name Description
float x

The x-coordinate of the point.

float y

The y-coordinate of the point.

Returns
Type Description
bool

true if the point is contained within the path; otherwise, false.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Reset()

Clears all points and types from this path.

Declaration
public void Reset()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Reverse()

Reverses the order of points in this path.

Declaration
public void Reverse()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

StartFigure()

Starts a new figure in this path.

Declaration
public void StartFigure()
Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Transform(Matrix)

Applies a transformation matrix to this path.

Declaration
public void Transform(Matrix matrix)
Parameters
Type Name Description
Matrix matrix

The transformation matrix.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Widen(Pen)

Widens this path using the specified pen.

Declaration
public void Widen(Pen pen)
Parameters
Type Name Description
Pen pen

The pen used to widen the path.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Widen(Pen, Matrix?)

Widens this path using the specified pen and transformation matrix.

Declaration
public void Widen(Pen pen, Matrix? m)
Parameters
Type Name Description
Pen pen

The pen used to widen the path.

Matrix m

The transformation matrix.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Widen(Pen, Matrix?, float)

Widens this path using the specified pen, transformation matrix, and flatness.

Declaration
public void Widen(Pen pen, Matrix? m, float flatness)
Parameters
Type Name Description
Pen pen

The pen used to widen the path.

Matrix m

The transformation matrix.

float flatness

The flatness of the widened path.

Remarks

A GraphicsPath can be used to draw and fill complex shapes. It supports lines, arcs, Bézier curves, rectangles, and ellipses.

Implements

IDisposable
Back to top

DR-IT Software documentation

DR-IT Software · Products · Documentation index · Product page · Downloads · Support · Licensing

Generated by DocFX