GraphicsPath.Reset 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
清空 PathPoints 和 PathTypes 陣列,並將 FillMode 設定為 Alternate。
public:
void Reset();
public void Reset ();
member this.Reset : unit -> unit
Public Sub Reset ()
範例
下列程式代碼範例的設計目的是要與 Windows Forms 搭配使用,而且需要 PaintEventArgse
OnPaint 事件物件。 程式代碼會執行下列動作:
建立路徑。
將數個基本類型加入其中。
將路徑的點陣列繪製到畫面。
將路徑重設為空白狀態。
重新取得點陣列(如果存在的話)。
將陣列繪製到畫面。
請注意,它會在重設呼叫之後找不到陣列。
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