This documentation is archived and is not being maintained.

GraphicsPath.AddArc Method (Rectangle, Single, Single)

Appends an elliptical arc to the current figure.

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

public void AddArc(
	Rectangle rect,
	float startAngle,
	float sweepAngle


Type: System.Drawing.Rectangle

A Rectangle that represents the rectangular bounds of the ellipse from which the arc is taken.

Type: System.Single

The starting angle of the arc, measured in degrees clockwise from the x-axis.

Type: System.Single

The angle between startAngle and the end of the arc.

If there are previous lines or curves in the figure, a line is added to connect the endpoint of the previous segment to the beginning of the arc.

The arc is traced along the perimeter of the ellipse bounded by the specified rectangle. The starting point of the arc is determined by measuring clockwise from the x-axis of the ellipse (at the 0-degree angle) by the number of degrees in the start angle. The endpoint is similarly located by measuring clockwise from the starting point by the number of degrees in the sweep angle. If the sweep angle is greater than 360 degrees or less than -360 degrees, the arc is swept by exactly 360 degrees or -360 degrees, respectively.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, an OnPaint event object. The code performs the following actions:

  • Creates a rectangle, from which the arc is defined.

  • Creates a path, myPath.

  • Defines a 180-degree elliptical arc that sweeps from 0 degrees to 180 degrees and appends it to a path.

  • Draws the path to screen.

private void AddArcExample(PaintEventArgs e)

    // Create a GraphicsPath object.
    GraphicsPath myPath = new GraphicsPath();

    // Set up and call AddArc, and close the figure.
    Rectangle rect = new Rectangle(20, 20, 50, 100);
    myPath.AddArc(rect, 0, 180);

    // Draw the path to screen.
    e.Graphics.DrawPath(new Pen(Color.Red, 3), myPath);

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

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