GraphicsPath.StartFigure Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Uruchamia nową postać bez zamykania bieżącej ilustracji. Wszystkie kolejne punkty dodane do ścieżki są dodawane do tej nowej ilustracji.
public:
void StartFigure();
public void StartFigure ();
member this.StartFigure : unit -> unit
Public Sub StartFigure ()
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
OnPaint obiektu zdarzenia . Kod wykonuje następujące akcje:
Tworzy ścieżkę.
Dodaje dwa zestawy liczb. Pierwszy zestaw liczb łączy cztery prymitywów w dwie postacie. Drugi zestaw rysunków łączy te same cztery typy pierwotne (z wyjątkiem tego, że są one przesunięte na osi y) na trzy rysunki.
Rysuje wszystkie rysunki na ekranie.
Zwróć uwagę na różnicę w wyglądzie między dwoma zestawami liczb.
public:
void StartFigureExample( PaintEventArgs^ e )
{
// Create a GraphicsPath object.
GraphicsPath^ myPath = gcnew GraphicsPath;
// First set of figures.
myPath->StartFigure();
myPath->AddArc( 10, 10, 50, 50, 0, 270 );
myPath->AddLine( Point(50,0), Point(100,50) );
myPath->AddArc( 50, 100, 75, 75, 0, 270 );
myPath->CloseFigure();
myPath->StartFigure();
myPath->AddArc( 100, 10, 50, 50, 0, 270 );
// Second set of figures.
myPath->StartFigure();
myPath->AddArc( 10, 200, 50, 50, 0, 270 );
myPath->CloseFigure();
myPath->StartFigure();
myPath->AddLine( Point(60,200), Point(110,250) );
myPath->AddArc( 50, 300, 75, 75, 0, 270 );
myPath->CloseFigure();
myPath->StartFigure();
myPath->AddArc( 100, 200, 50, 50, 0, 270 );
// Draw the path to the screen.
e->Graphics->DrawPath( gcnew Pen( Color::Black ), myPath );
}
// End StartFigureExample
public void StartFigureExample(PaintEventArgs e)
{
// Create a GraphicsPath object.
GraphicsPath myPath = new GraphicsPath();
// First set of figures.
myPath.StartFigure();
myPath.AddArc(10, 10, 50, 50, 0, 270);
myPath.AddLine(new Point(50, 0), new Point(100, 50));
myPath.AddArc(50, 100, 75, 75, 0, 270);
myPath.CloseFigure();
myPath.StartFigure();
myPath.AddArc(100, 10, 50, 50, 0, 270);
// Second set of figures.
myPath.StartFigure();
myPath.AddArc(10, 200, 50, 50, 0, 270);
myPath.CloseFigure();
myPath.StartFigure();
myPath.AddLine(new Point(60, 200), new Point(110, 250));
myPath.AddArc(50, 300, 75, 75, 0, 270);
myPath.CloseFigure();
myPath.StartFigure();
myPath.AddArc(100, 200, 50, 50, 0, 270);
// Draw the path to the screen.
e.Graphics.DrawPath(new Pen(Color.Black), myPath);
}
// End StartFigureExample
Public Sub StartFigureExample(ByVal e As PaintEventArgs)
' Create a GraphicsPath object.
Dim myPath As New GraphicsPath
' First set of figures.
myPath.StartFigure()
myPath.AddArc(10, 10, 50, 50, 0, 270)
myPath.AddLine(New Point(50, 0), New Point(100, 50))
myPath.AddArc(50, 100, 75, 75, 0, 270)
myPath.CloseFigure()
myPath.StartFigure()
myPath.AddArc(100, 10, 50, 50, 0, 270)
' Second set of figures.
myPath.StartFigure()
myPath.AddArc(10, 200, 50, 50, 0, 270)
myPath.CloseFigure()
myPath.StartFigure()
myPath.AddLine(New Point(60, 200), New Point(110, 250))
myPath.AddArc(50, 300, 75, 75, 0, 270)
myPath.CloseFigure()
myPath.StartFigure()
myPath.AddArc(100, 200, 50, 50, 0, 270)
' Draw the path to the screen.
e.Graphics.DrawPath(New Pen(Color.Black), myPath)
End Sub
Uwagi
Użytkownik musi zachować oryginalne punkty, jeśli są potrzebne. Oryginalne punkty są konwertowane na sześcienne punkty kontrolne Bézier wewnętrznie, dlatego nie ma mechanizmu zwracania oryginalnych punktów.
Ta metoda uruchamia nową ścieżkę podrzędną w ścieżce. Ścieżki podrzędne umożliwiają oddzielenie ścieżki do sekcji i użycie GraphicsPathIterator klasy do iteracji przez ścieżki podrzędne.
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla