Freigeben über


GraphicsPath.Reverse-Methode

Kehrt die Reihenfolge der Punkte im PathPoints-Array dieses GraphicsPath um.

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

Syntax

'Declaration
Public Sub Reverse
'Usage
Dim instance As GraphicsPath

instance.Reverse
public void Reverse ()
public:
void Reverse ()
public void Reverse ()
public function Reverse ()

Beispiel

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms vorgesehen und erfordert das OnPaint-Ereignisobjekt PaintEventArgse. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen Pfad und fügt diesem mehrere geometrische Grundformen hinzu.

  • Zeichnet das Punktearray des Pfads auf dem Bildschirm.

  • Zeichnet das invertierte Punktearray auf dem Bildschirm.

Beachten Sie, dass die zweite Punkteauflistung die umgekehrte Reihenfolge der ersten aufweist.

Public Sub GraphicsPathReverseExample(ByVal e As PaintEventArgs)

    ' Create a path and add a line, ellipse, and arc.
    Dim myPath As New GraphicsPath
    myPath.AddLine(New Point(0, 0), New Point(100, 100))
    myPath.AddEllipse(100, 100, 200, 250)
    myPath.AddArc(300, 250, 100, 100, 0, 90)

    ' Draw the first set of points to the screen.
    DrawPointsHelper2(e, myPath.PathPoints, 20)

    ' Call GraphicsPath.Reverse.
    myPath.Reverse()

    ' Draw the reversed set of points to the screen.
    DrawPointsHelper2(e, myPath.PathPoints, 150)
End Sub

' A helper function used by GraphicsPathReverseExample to draw points.
Public Sub DrawPointsHelper2(ByVal e As PaintEventArgs, _
ByVal pathPoints() As PointF, ByVal xOffset As Integer)
    Dim y As Integer = 20
    Dim myFont As New Font("Arial", 8)
    Dim i As Integer
    For i = 0 To pathPoints.Length - 1
        e.Graphics.DrawString(pathPoints(i).X.ToString() + _
        ", " + pathPoints(i).Y.ToString(), myFont, Brushes.Black, _
        xOffset, y)
        y += 20
    Next i
End Sub
public void GraphicsPathReverseExample(PaintEventArgs e)
{
             
    // Create a path and add a line, ellipse, and arc.
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddLine(new Point(0, 0), new Point(100, 100));
    myPath.AddEllipse(100, 100, 200, 250);
    myPath.AddArc(300, 250, 100, 100, 0, 90);
             
    // Draw the first set of points to the screen.
    DrawPoints2(e, myPath.PathPoints, 20);
             
    // Call GraphicsPath.Reverse.
    myPath.Reverse();
             
    // Draw the reversed set of points to the screen.
    DrawPoints2(e, myPath.PathPoints, 150);
}
//End GraphicsPathReverseExample.
             
// A helper function GraphicsPathReverseExample is used to draw the
             
// points to the screen.
public void DrawPoints2(PaintEventArgs e, PointF[] pathPoints, int xOffset)
{
    int y = 20;
    Font myFont = new Font("Arial", 8);
    for(int i=0;i < pathPoints.Length; i++)
    {
        e.Graphics.DrawString(pathPoints[i].X.ToString() + ", " +
            pathPoints[i].Y.ToString(),
            myFont,
            Brushes.Black,
            xOffset,
            y);
        y += 20;
    }
} 
// End DrawPoints
void GraphicsPathReverseExample( PaintEventArgs^ e )
{
   // Create a path and add a line, ellipse, and arc.
   GraphicsPath^ myPath = gcnew GraphicsPath;
   myPath->AddLine( Point(0,0), Point(100,100) );
   myPath->AddEllipse( 100, 100, 200, 250 );
   myPath->AddArc( 300, 250, 100, 100, 0, 90 );

   // Draw the first set of points to the screen.
   DrawPoints2( e, myPath->PathPoints, 20 );

   // Call GraphicsPath.Reverse.
   myPath->Reverse();

   // Draw the reversed set of points to the screen.
   DrawPoints2( e, myPath->PathPoints, 150 );
}

//End GraphicsPathReverseExample.
// A helper function GraphicsPathReverseExample is used to draw the
// points to the screen.
void DrawPoints2( PaintEventArgs^ e, array<PointF>^ pathPoints, int xOffset )
{
   int y = 20;
   System::Drawing::Font^ myFont = gcnew System::Drawing::Font( "Arial",8 );
   for ( int i = 0; i < pathPoints->Length; i++ )
   {
      e->Graphics->DrawString( String::Concat( pathPoints[ i ].X, ", ", pathPoints[ i ].Y ), myFont, Brushes::Black, (float)xOffset, (float)y );
      y += 20;

   }
}
// End DrawPoints
public void GraphicsPathReverseExample(PaintEventArgs e)
{
    // Create a path and add a line, ellipse, and arc.
    GraphicsPath myPath = new GraphicsPath();

    myPath.AddLine(new Point(0, 0), new Point(100, 100));
    myPath.AddEllipse(100, 100, 200, 250);
    myPath.AddArc(300, 250, 100, 100, 0, 90);

    // Draw the first set of points to the screen.
    DrawPoints2(e, myPath.get_PathPoints(), 20);

    // Call GraphicsPath.Reverse.
    myPath.Reverse();

    // Draw the reversed set of points to the screen.
    DrawPoints2(e, myPath.get_PathPoints(), 150);
} //GraphicsPathReverseExample
//End GraphicsPathReverseExample.

// A helper function GraphicsPathReverseExample is used to draw the

// points to the screen.
public void DrawPoints2(PaintEventArgs e, PointF pathPoints[], int xOffset)
{
    int y = 20;
    Font myFont = new Font("Arial", 8);

    for (int i = 0; i < pathPoints.length; i++) {
        e.get_Graphics().DrawString(System.Convert.ToString(
            pathPoints[i].get_X()) + ", "  
            + System.Convert.ToString(pathPoints[i].get_Y()), myFont, 
            Brushes.get_Black(), xOffset, y);
        y += 20;
    }
} //DrawPoints2
// End DrawPoints

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

GraphicsPath-Klasse
GraphicsPath-Member
System.Drawing.Drawing2D-Namespace