Anvisningar: Skapa figurer från linjer, kurvor och former
Skapa en bild genom att skapa en GraphicsPathoch sedan anropa metoder, till exempel AddLine och AddCurve, för att lägga till primitiver i sökvägen.
Exempel
Följande kodexempel skapar sökvägar som har siffror:
I det första exemplet skapas en sökväg med en enda figur. Figuren består av en enda båge. Bågen har en svepvinkel på -180 grader, vilket är motsols i standardkoordinatsystemet.
Det andra exemplet skapar en sökväg som har två siffror. Den första bilden är en båge följt av en linje. Den andra bilden är en linje följt av en kurva följt av en linje. Den första siffran lämnas öppen och den andra siffran är stängd.
GraphicsPath path = new GraphicsPath();
path.AddArc(175, 50, 50, 50, 0, -180);
e.Graphics.DrawPath(new Pen(Color.FromArgb(128, 255, 0, 0), 4), path);
Dim path As New GraphicsPath()
path.AddArc(175, 50, 50, 50, 0, -180)
e.Graphics.DrawPath(New Pen(Color.FromArgb(128, 255, 0, 0), 4), path)
// Create an array of points for the curve in the second figure.
Point[] points = {
new Point(40, 60),
new Point(50, 70),
new Point(30, 90)};
GraphicsPath path = new GraphicsPath();
path.StartFigure(); // Start the first figure.
path.AddArc(175, 50, 50, 50, 0, -180);
path.AddLine(100, 0, 250, 20);
// First figure is not closed.
path.StartFigure(); // Start the second figure.
path.AddLine(50, 20, 5, 90);
path.AddCurve(points, 3);
path.AddLine(50, 150, 150, 180);
path.CloseFigure(); // Second figure is closed.
e.Graphics.DrawPath(new Pen(Color.FromArgb(255, 255, 0, 0), 2), path);
' Create an array of points for the curve in the second figure.
Dim points As Point() = { _
New Point(40, 60), _
New Point(50, 70), _
New Point(30, 90)}
Dim path As New GraphicsPath()
path.StartFigure() ' Start the first figure.
path.AddArc(175, 50, 50, 50, 0, -180)
path.AddLine(100, 0, 250, 20)
' First figure is not closed.
path.StartFigure() ' Start the second figure.
path.AddLine(50, 20, 5, 90)
path.AddCurve(points, 3)
path.AddLine(50, 150, 150, 180)
path.CloseFigure() ' Second figure is closed.
e.Graphics.DrawPath(New Pen(Color.FromArgb(255, 255, 0, 0), 2), path)
Kompilera koden
Föregående exempel är utformade för användning med Windows Forms, och de kräver PaintEventArgse
, vilket är en parameter för Paint händelsehanterare.
Se även
.NET Desktop feedback