GraphicsPath.Reverse Метод

Определение

Изменяет порядок точек в массиве PathPoints этого объекта GraphicsPath на противоположный.Reverses the order of points in the PathPoints array of this GraphicsPath.

public:
 void Reverse();
public void Reverse ();
member this.Reverse : unit -> unit
Public Sub Reverse ()

Примеры

Следующий пример кода предназначен для использования с Windows Forms, и для него требуется PaintEventArgse, объект события OnPaint.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Код выполняет следующие действия.The code performs the following actions:

  • Создает путь и добавляет к пути несколько примитивов.Creates a path and adds several primitives to the path.

  • Рисует массив точек пути на экране.Draws the path's points array to the screen.

  • Рисует на экране массив с обратными точками.Draws the reversed points array to the screen.

Обратите внимание, что второй список точек находится в обратном порядке от первого.Notice that the second listing of points is in reverse order from the first.

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.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
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

Применяется к