共用方式為


GraphicsPath.Reset 方法

定義

清空 PathPointsPathTypes 陣列,並將 FillMode 設定為 Alternate

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

範例

下列程式代碼範例的設計目的是要與 Windows Forms 搭配使用,而且需要 PaintEventArgseOnPaint 事件物件。 程式代碼會執行下列動作:

  • 建立路徑。

  • 將數個基本類型加入其中。

  • 將路徑的點陣列繪製到畫面。

  • 將路徑重設為空白狀態。

  • 重新取得點陣列(如果存在的話)。

  • 將陣列繪製到畫面。

請注意,它會在重設呼叫之後找不到陣列。

public:
   void GraphicsPathResetExample( PaintEventArgs^ e )
   {
      System::Drawing::Font^ myFont = gcnew System::Drawing::Font( "Arial",8 );
      
      // Create a path and add a line, an ellipse, and an 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 pre-reset points array to the screen.
      DrawPoints1( e, myPath->PathPoints, 20 );
      
      // Reset the path.
      myPath->Reset();
      
      // See if any points remain.
      if ( myPath->PointCount > 0 )
      {
         
         // Draw the post-reset points array to the screen.
         DrawPoints1( e, myPath->PathPoints, 150 );
      }
      else
            e->Graphics->DrawString( "No Points", myFont, Brushes::Black, 150, 20 );
      // If there are no points, say so.
   }


   //End GraphicsPathResetExample
   // A helper function GraphicsPathResetExample uses to draw the points.
   // to the screen.
   void DrawPoints1( 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 GraphicsPathResetExample(PaintEventArgs e)
{
    Font myFont = new Font("Arial", 8);
             
    // Create a path and add a line, an ellipse, and an 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 pre-reset points array to the screen.
    DrawPoints1(e, myPath.PathPoints, 20);
             
    // Reset the path.
    myPath.Reset();
             
    // See if any points remain.
    if(myPath.PointCount > 0)
    {
             
        // Draw the post-reset points array to the screen.
        DrawPoints1(e, myPath.PathPoints, 150);
    }
    else
             
        // If there are no points, say so.
        e.Graphics.DrawString("No Points",
            myFont,
            Brushes.Black,
            150,
            20);
} 
//End GraphicsPathResetExample
             
// A helper function GraphicsPathResetExample uses to draw the points.
             
// to the screen.
public void DrawPoints1(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 GraphicsPathResetExample(ByVal e As PaintEventArgs)
    Dim myFont As New Font("Arial", 8)

    ' Create a path and add a line, an ellipse, and an 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 pre-reset points array to the screen.
    DrawPointsHelper1(e, myPath.PathPoints, 20)

    ' Reset the path.
    myPath.Reset()

    ' See if any points remain.
    If myPath.PointCount > 0 Then

        ' Draw the post-reset points array to the screen.
        DrawPointsHelper1(e, myPath.PathPoints, 150)

        ' If there are no points, say so.
    Else
        e.Graphics.DrawString("No Points", myFont, Brushes.Black, _
        150, 20)
    End If
End Sub

' A helper function used by GraphicsPathResetExample to draw points.
Public Sub DrawPointsHelper1(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

適用於