Graphics.DrawBeziers Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ritar en serie Bézier-splines från en matris med Point strukturer.
Överlagringar
| Name | Description |
|---|---|
| DrawBeziers(Pen, PointF[]) |
Ritar en serie Bézier-splines från en matris med PointF strukturer. |
| DrawBeziers(Pen, Point[]) |
Ritar en serie Bézier-splines från en matris med Point strukturer. |
DrawBeziers(Pen, PointF[])
Ritar en serie Bézier-splines från en matris med PointF strukturer.
public:
void DrawBeziers(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points);
public void DrawBeziers(System.Drawing.Pen pen, System.Drawing.PointF[] points);
member this.DrawBeziers : System.Drawing.Pen * System.Drawing.PointF[] -> unit
Public Sub DrawBeziers (pen As Pen, points As PointF())
Parametrar
- points
- PointF[]
Matris med PointF strukturer som representerar de punkter som avgör kurvan. Antalet punkter i matrisen ska vara en multipel av 3 plus 1, till exempel 4, 7 eller 10.
Undantag
Exempel
Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:
Skapar en svart penna.
Skapar start-, slut- och två kontrollpunkter för en första kurva och slutpunkt och två kontrollpunkter för en andra kurva.
Drar de efterföljande Bézier-kurvorna till skärmen.
private:
void DrawBeziersPointF( PaintEventArgs^ e )
{
// Create pen.
Pen^ blackPen = gcnew Pen( Color::Black,3.0f );
// Create points for curve.
PointF start = PointF(100.0F,100.0F);
PointF control1 = PointF(200.0F,10.0F);
PointF control2 = PointF(350.0F,50.0F);
PointF end1 = PointF(500.0F,100.0F);
PointF control3 = PointF(600.0F,150.0F);
PointF control4 = PointF(650.0F,250.0F);
PointF end2 = PointF(500.0F,300.0F);
array<PointF>^ bezierPoints = {start,control1,control2,end1,control3,control4,end2};
// Draw arc to screen.
e->Graphics->DrawBeziers( blackPen, bezierPoints );
}
private void DrawBeziersPointF(PaintEventArgs e)
{
// Create pen.
Pen blackPen = new Pen(Color.Black, 3);
// Create points for curve.
PointF start = new PointF(100.0F, 100.0F);
PointF control1 = new PointF(200.0F, 10.0F);
PointF control2 = new PointF(350.0F, 50.0F);
PointF end1 = new PointF(500.0F, 100.0F);
PointF control3 = new PointF(600.0F, 150.0F);
PointF control4 = new PointF(650.0F, 250.0F);
PointF end2 = new PointF(500.0F, 300.0F);
PointF[] bezierPoints = { start, control1, control2, end1,
control3, control4, end2 };
// Draw arc to screen.
e.Graphics.DrawBeziers(blackPen, bezierPoints);
}
Private Sub DrawBeziersPointF(ByVal e As PaintEventArgs)
' Create pen.
Dim blackPen As New Pen(Color.Black, 3)
' Create points for curve.
Dim start As New PointF(100.0F, 100.0F)
Dim control1 As New PointF(200.0F, 10.0F)
Dim control2 As New PointF(350.0F, 50.0F)
Dim end1 As New PointF(500.0F, 100.0F)
Dim control3 As New PointF(600.0F, 150.0F)
Dim control4 As New PointF(650.0F, 250.0F)
Dim end2 As New PointF(500.0F, 300.0F)
Dim bezierPoints As PointF() = {start, control1, control2, _
end1, control3, control4, end2}
' Draw arc to screen.
e.Graphics.DrawBeziers(blackPen, bezierPoints)
End Sub
Kommentarer
Antalet punkter i matrisen ska vara en multipel av 3 plus 1 eftersom den första spline kräver 4 punkter och andra splines kräver 3 punkter vardera. Den första Bézier-kurvan dras från den första punkten till den fjärde punkten i punktmatrisen. De andra och tredje punkterna är kontrollpunkter som bestämmer kurvans form. Varje efterföljande kurva behöver exakt tre punkter till: ytterligare två kontrollpunkter och en slutpunkt. Slutpunkten för den föregående kurvan används som startpunkt för varje ytterligare kurva.
Gäller för
DrawBeziers(Pen, Point[])
Ritar en serie Bézier-splines från en matris med Point strukturer.
public:
void DrawBeziers(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points);
public void DrawBeziers(System.Drawing.Pen pen, System.Drawing.Point[] points);
member this.DrawBeziers : System.Drawing.Pen * System.Drawing.Point[] -> unit
Public Sub DrawBeziers (pen As Pen, points As Point())
Parametrar
- points
- Point[]
Matris med Point strukturer som representerar de punkter som avgör kurvan. Antalet punkter i matrisen ska vara en multipel av 3 plus 1, till exempel 4, 7 eller 10.
Undantag
Exempel
Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:
Skapar en svart penna.
Skapar start-, slut- och två kontrollpunkter för en första kurva och slutpunkt och två kontrollpunkter för en andra kurva.
Drar de efterföljande Bézier-kurvorna till skärmen.
private:
void DrawBeziersPoint( PaintEventArgs^ e )
{
// Create pen.
Pen^ blackPen = gcnew Pen( Color::Black,3.0f );
// Create points for curve.
Point start = Point(100,100);
Point control1 = Point(200,10);
Point control2 = Point(350,50);
Point end1 = Point(500,100);
Point control3 = Point(600,150);
Point control4 = Point(650,250);
Point end2 = Point(500,300);
array<Point>^ bezierPoints = {start,control1,control2,end1,control3,control4,end2};
// Draw arc to screen.
e->Graphics->DrawBeziers( blackPen, bezierPoints );
}
private void DrawBeziersPoint(PaintEventArgs e)
{
// Create pen.
Pen blackPen = new Pen(Color.Black, 3);
// Create points for curve.
Point start = new Point(100, 100);
Point control1 = new Point(200, 10);
Point control2 = new Point(350, 50);
Point end1 = new Point(500, 100);
Point control3 = new Point(600, 150);
Point control4 = new Point(650, 250);
Point end2 = new Point(500, 300);
Point[] bezierPoints =
{
start, control1, control2, end1,
control3, control4, end2
};
// Draw arc to screen.
e.Graphics.DrawBeziers(blackPen, bezierPoints);
}
Private Sub DrawBeziersPoint(ByVal e As PaintEventArgs)
' Create pen.
Dim blackPen As New Pen(Color.Black, 3)
' Create points for curve.
Dim start As New Point(100, 100)
Dim control1 As New Point(200, 10)
Dim control2 As New Point(350, 50)
Dim end1 As New Point(500, 100)
Dim control3 As New Point(600, 150)
Dim control4 As New Point(650, 250)
Dim end2 As New Point(500, 300)
Dim bezierPoints As Point() = {start, control1, control2, _
end1, control3, control4, end2}
' Draw arc to screen.
e.Graphics.DrawBeziers(blackPen, bezierPoints)
End Sub
Kommentarer
Antalet punkter i matrisen ska vara en multipel av 3 plus 1 eftersom den första spline kräver 4 punkter och andra splines kräver 3 punkter vardera. Den första Bézier-spline dras från den första punkten till den fjärde punkten i punktmatrisen. De andra och tredje punkterna är kontrollpunkter som bestämmer kurvans form. Varje efterföljande kurva behöver exakt tre punkter till: ytterligare två kontrollpunkter och en slutpunkt. Slutpunkten för den föregående kurvan används som startpunkt för varje ytterligare kurva.