This topic has not yet been rated - Rate this topic

GraphicsPath Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Represents a series of connected lines and curves. This class cannot be inherited.

System.Object
  System.MarshalByRefObject
    System.Drawing.Drawing2D.GraphicsPath

Namespace:  System.Drawing.Drawing2D
Assembly:  System.Drawing (in System.Drawing.dll)

public sealed class GraphicsPath : MarshalByRefObject, 
	ICloneable, IDisposable

The GraphicsPath type exposes the following members.

  Name Description
Public method GraphicsPath() Initializes a new instance of the GraphicsPath class with a FillMode value of Alternate.
Public method GraphicsPath(FillMode) Initializes a new instance of the GraphicsPath class with the specified FillMode enumeration.
Public method GraphicsPath(Point[], Byte[]) Initializes a new instance of the GraphicsPath class with the specified PathPointType and Point arrays.
Public method GraphicsPath(PointF[], Byte[]) Initializes a new instance of the GraphicsPath array with the specified PathPointType and PointF arrays.
Public method GraphicsPath(Point[], Byte[], FillMode) Initializes a new instance of the GraphicsPath class with the specified PathPointType and Point arrays and with the specified FillMode enumeration element.
Public method GraphicsPath(PointF[], Byte[], FillMode) Initializes a new instance of the GraphicsPath array with the specified PathPointType and PointF arrays and with the specified FillMode enumeration element.
Top
  Name Description
Public property FillMode Gets or sets a FillMode enumeration that determines how the interiors of shapes in this GraphicsPath are filled.
Public property PathData Gets a PathData that encapsulates arrays of points (points) and types (types) for this GraphicsPath.
Public property PathPoints Gets the points in the path.
Public property PathTypes Gets the types of the corresponding points in the PathPoints array.
Public property PointCount Gets the number of elements in the PathPoints or the PathTypes array.
Top
  Name Description
Public method AddArc(Rectangle, Single, Single) Appends an elliptical arc to the current figure.
Public method AddArc(RectangleF, Single, Single) Appends an elliptical arc to the current figure.
Public method AddArc(Int32, Int32, Int32, Int32, Single, Single) Appends an elliptical arc to the current figure.
Public method AddArc(Single, Single, Single, Single, Single, Single) Appends an elliptical arc to the current figure.
Public method AddBezier(Point, Point, Point, Point) Adds a cubic Bézier curve to the current figure.
Public method AddBezier(PointF, PointF, PointF, PointF) Adds a cubic Bézier curve to the current figure.
Public method AddBezier(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) Adds a cubic Bézier curve to the current figure.
Public method AddBezier(Single, Single, Single, Single, Single, Single, Single, Single) Adds a cubic Bézier curve to the current figure.
Public method AddBeziers(Point[]) Adds a sequence of connected cubic Bézier curves to the current figure.
Public method AddBeziers(PointF[]) Adds a sequence of connected cubic Bézier curves to the current figure.
Public method AddClosedCurve(Point[]) Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array.
Public method AddClosedCurve(PointF[]) Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array.
Public method AddClosedCurve(Point[], Single) Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array.
Public method AddClosedCurve(PointF[], Single) Adds a closed curve to this path. A cardinal spline curve is used because the curve travels through each of the points in the array.
Public method AddCurve(Point[]) Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array.
Public method AddCurve(PointF[]) Adds a spline curve to the current figure. A cardinal spline curve is used because the curve travels through each of the points in the array.
Public method AddCurve(Point[], Single) Adds a spline curve to the current figure.
Public method AddCurve(PointF[], Single) Adds a spline curve to the current figure.
Public method AddCurve(Point[], Int32, Int32, Single) Adds a spline curve to the current figure.
Public method AddCurve(PointF[], Int32, Int32, Single) Adds a spline curve to the current figure.
Public method AddEllipse(Rectangle) Adds an ellipse to the current path.
Public method AddEllipse(RectangleF) Adds an ellipse to the current path.
Public method AddEllipse(Int32, Int32, Int32, Int32) Adds an ellipse to the current path.
Public method AddEllipse(Single, Single, Single, Single) Adds an ellipse to the current path.
Public method AddLine(Point, Point) Appends a line segment to this GraphicsPath.
Public method AddLine(PointF, PointF) Appends a line segment to this GraphicsPath.
Public method AddLine(Int32, Int32, Int32, Int32) Appends a line segment to the current figure.
Public method AddLine(Single, Single, Single, Single) Appends a line segment to this GraphicsPath.
Public method AddLines(Point[]) Appends a series of connected line segments to the end of this GraphicsPath.
Public method AddLines(PointF[]) Appends a series of connected line segments to the end of this GraphicsPath.
Public method AddPath Appends the specified GraphicsPath to this path.
Public method AddPie(Rectangle, Single, Single) Adds the outline of a pie shape to this path.
Public method AddPie(Int32, Int32, Int32, Int32, Single, Single) Adds the outline of a pie shape to this path.
Public method AddPie(Single, Single, Single, Single, Single, Single) Adds the outline of a pie shape to this path.
Public method AddPolygon(Point[]) Adds a polygon to this path.
Public method AddPolygon(PointF[]) Adds a polygon to this path.
Public method AddRectangle(Rectangle) Adds a rectangle to this path.
Public method AddRectangle(RectangleF) Adds a rectangle to this path.
Public method AddRectangles(Rectangle[]) Adds a series of rectangles to this path.
Public method AddRectangles(RectangleF[]) Adds a series of rectangles to this path.
Public method AddString(String, FontFamily, Int32, Single, Point, StringFormat) Adds a text string to this path.
Public method AddString(String, FontFamily, Int32, Single, PointF, StringFormat) Adds a text string to this path.
Public method AddString(String, FontFamily, Int32, Single, Rectangle, StringFormat) Adds a text string to this path.
Public method AddString(String, FontFamily, Int32, Single, RectangleF, StringFormat) Adds a text string to this path.
Public method ClearMarkers Clears all markers from this path.
Public method Clone Creates an exact copy of this path.
Public method CloseAllFigures Closes all open figures in this path and starts a new figure. It closes each open figure by connecting a line from its endpoint to its starting point.
Public method CloseFigure Closes the current figure and starts a new figure. If the current figure contains a sequence of connected lines and curves, the method closes the loop by connecting a line from the endpoint to the starting point.
Public method CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public method Dispose Releases all resources used by this GraphicsPath.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Flatten() Converts each curve in this path into a sequence of connected line segments.
Public method Flatten(Matrix) Applies the specified transform and then converts each curve in this GraphicsPath into a sequence of connected line segments.
Public method Flatten(Matrix, Single) Converts each curve in this GraphicsPath into a sequence of connected line segments.
Public method GetBounds() Returns a rectangle that bounds this GraphicsPath.
Public method GetBounds(Matrix) Returns a rectangle that bounds this GraphicsPath when this path is transformed by the specified Matrix.
Public method GetBounds(Matrix, Pen) Returns a rectangle that bounds this GraphicsPath when the current path is transformed by the specified Matrix and drawn with the specified Pen.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetLastPoint Gets the last point in the PathPoints array of this GraphicsPath.
Public method GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method IsOutlineVisible(Point, Pen) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen.
Public method IsOutlineVisible(PointF, Pen) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen.
Public method IsOutlineVisible(Int32, Int32, Pen) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen.
Public method IsOutlineVisible(Point, Pen, Graphics) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen and using the specified Graphics.
Public method IsOutlineVisible(PointF, Pen, Graphics) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen and using the specified Graphics.
Public method IsOutlineVisible(Single, Single, Pen) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen.
Public method IsOutlineVisible(Int32, Int32, Pen, Graphics) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen and using the specified Graphics.
Public method IsOutlineVisible(Single, Single, Pen, Graphics) Indicates whether the specified point is contained within (under) the outline of this GraphicsPath when drawn with the specified Pen and using the specified Graphics.
Public method IsVisible(Point) Indicates whether the specified point is contained within this GraphicsPath.
Public method IsVisible(PointF) Indicates whether the specified point is contained within this GraphicsPath.
Public method IsVisible(Int32, Int32) Indicates whether the specified point is contained within this GraphicsPath.
Public method IsVisible(Point, Graphics) Indicates whether the specified point is contained within this GraphicsPath.
Public method IsVisible(PointF, Graphics) Indicates whether the specified point is contained within this GraphicsPath.
Public method IsVisible(Single, Single) Indicates whether the specified point is contained within this GraphicsPath.
Public method IsVisible(Int32, Int32, Graphics) Indicates whether the specified point is contained within this GraphicsPath, using the specified Graphics.
Public method IsVisible(Single, Single, Graphics) Indicates whether the specified point is contained within this GraphicsPath in the visible clip region of the specified Graphics.
Protected method MemberwiseClone() Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MemberwiseClone(Boolean) Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Public method Reset Empties the PathPoints and PathTypes arrays and sets the FillMode to Alternate.
Public method Reverse Reverses the order of points in the PathPoints array of this GraphicsPath.
Public method SetMarkers Sets a marker on this GraphicsPath.
Public method StartFigure Starts a new figure without closing the current figure. All subsequent points added to the path are added to this new figure.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method Transform Applies a transform matrix to this GraphicsPath.
Public method Warp(PointF[], RectangleF) Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.
Public method Warp(PointF[], RectangleF, Matrix) Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.
Public method Warp(PointF[], RectangleF, Matrix, WarpMode) Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.
Public method Warp(PointF[], RectangleF, Matrix, WarpMode, Single) Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.
Public method Widen(Pen) Adds an additional outline to the path.
Public method Widen(Pen, Matrix) Adds an additional outline to the GraphicsPath.
Public method Widen(Pen, Matrix, Single) Replaces this GraphicsPath with curves that enclose the area that is filled when this path is drawn by the specified pen.
Top

Applications use paths to draw outlines of shapes, fill the interiors of shapes, and create clipping regions. The graphics engine maintains the coordinates of geometric shapes in a path in world coordinate space.

A path may be composed of any number of figures (subpaths). Each figure is either composed of a sequence of connected lines and curves or a geometric shape primitive. The starting point of a figure is the first point in the sequence of connected lines and curves. The ending point is the last point in the sequence. The starting and ending points of a geometric shape primitive are defined by the primitive specification.

A figure that consists of a sequence of connected lines and curves (whose starting and ending points may be coincident) is an open figure, unless it is closed explicitly. A figure can be closed explicitly, by using the CloseFigure method, which closes the current figure by connecting a line from the ending point to the starting point. A figure that consists of a geometric shape primitive is a closed figure.

For purposes of filling and clipping (for example, if a path is rendered using FillPath), all open figures are closed by adding a line from the figure's first point to its last point.

A new figure is implicitly started when a path is created or when a figure is closed. A new figure is explicitly created when the StartFigure method is called.

When a geometric shape primitive is added to a path, it adds a figure containing the geometric shape, and also implicitly starts a new figure. Consequently, there is always a current figure in a path. When lines and curves are added to a path, an implicit line is added as needed to connect the ending point of the current figure to the starting point of the new lines and curves to form a sequence of connected lines and curves.

A figure has a direction that describes how line and curve segments are traced between the starting point and the ending point. The direction is defined in the order that lines and curves are added to a figure, or is defined by the geometric shape primitive. The direction is used in determining the path interiors for clipping and fill.

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)