Postupy: Vytváření obrázků z čar, křivek a obrazců
Chcete-li vytvořit obrázek, vytvořit GraphicsPatha potom volat metody, například AddLine a AddCurve, přidat primitivy do cesty.
Příklad
Následující příklady kódu vytvářejí cesty s obrázky:
První příklad vytvoří cestu, která má jeden obrázek. Obrázek se skládá z jednoho oblouku. Oblouk má úhel úklidu –180 stupňů, což je proti směru hodinových ručiček ve výchozím souřadnicovém systému.
Druhý příklad vytvoří cestu, která obsahuje dva obrázky. První obrázek je oblouk následovaný čárou. Druhý obrázek je čára následovaná křivkou následovanou čárou. První obrázek zůstane otevřený a druhý obrázek se zavře.
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)
Probíhá kompilace kódu
Předchozí příklady jsou navržené pro použití s model Windows Forms a vyžadují PaintEventArgse
, což je parametr Paint obslužné rutiny události.
Viz také
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro