GraphicsPath.AddCurve Metoda

Definicja

Dodaje krzywą krzywą spline do bieżącej ilustracji. Używana jest krzywa kardynaalna, ponieważ krzywa przechodzi przez każdy z punktów w tablicy.

Przeciążenia

AddCurve(ReadOnlySpan<Point>, Single)
AddCurve(PointF[], Int32, Int32, Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

AddCurve(Point[], Int32, Int32, Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

AddCurve(ReadOnlySpan<PointF>, Single)
AddCurve(PointF[], Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

AddCurve(Point[])

Dodaje krzywą krzywą spline do bieżącej ilustracji. Używana jest krzywa kardynaalna, ponieważ krzywa przechodzi przez każdy z punktów w tablicy.

AddCurve(ReadOnlySpan<PointF>)
AddCurve(ReadOnlySpan<Point>)
AddCurve(PointF[])

Dodaje krzywą krzywą spline do bieżącej ilustracji. Używana jest krzywa kardynaalna, ponieważ krzywa przechodzi przez każdy z punktów w tablicy.

AddCurve(Point[], Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

AddCurve(ReadOnlySpan<Point>, Single)

public:
 void AddCurve(ReadOnlySpan<System::Drawing::Point> points, float tension);
public void AddCurve (ReadOnlySpan<System.Drawing.Point> points, float tension);
member this.AddCurve : ReadOnlySpan<System.Drawing.Point> * single -> unit
Public Sub AddCurve (points As ReadOnlySpan(Of Point), tension As Single)

Parametry

tension
Single

Dotyczy

AddCurve(PointF[], Int32, Int32, Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

public:
 void AddCurve(cli::array <System::Drawing::PointF> ^ points, int offset, int numberOfSegments, float tension);
public void AddCurve (System.Drawing.PointF[] points, int offset, int numberOfSegments, float tension);
member this.AddCurve : System.Drawing.PointF[] * int * int * single -> unit
Public Sub AddCurve (points As PointF(), offset As Integer, numberOfSegments As Integer, tension As Single)

Parametry

points
PointF[]

Tablica PointF struktur reprezentujących punkty definiujące krzywą.

offset
Int32

Indeks elementu w tablicy points , który jest używany jako pierwszy punkt w krzywej.

numberOfSegments
Int32

Liczba segmentów używanych do rysowania krzywej. Segment można traktować jako linię łączącą dwa punkty.

tension
Single

Wartość określająca ilość, którą krzywa zgina między punktami kontrolnymi. Wartości większe niż 1 generują nieprzewidywalne wyniki.

Przykłady

Aby zapoznać się z przykładem, zobacz AddCurve(Point[], Int32, Int32, Single).

Uwagi

Użytkownik musi zachować oryginalne punkty, jeśli są potrzebne. Oryginalne punkty są konwertowane do sześciennych punktów kontrolnych Bézier wewnętrznie, dlatego nie ma mechanizmu zwracania oryginalnych punktów.

Krzywa rozpoczyna się od punktu w tablicy określonej przez offset, i zawiera liczbę punktów (segmentów) określonych przez numberOfSegments.

Dotyczy

AddCurve(Point[], Int32, Int32, Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

public:
 void AddCurve(cli::array <System::Drawing::Point> ^ points, int offset, int numberOfSegments, float tension);
public void AddCurve (System.Drawing.Point[] points, int offset, int numberOfSegments, float tension);
member this.AddCurve : System.Drawing.Point[] * int * int * single -> unit
Public Sub AddCurve (points As Point(), offset As Integer, numberOfSegments As Integer, tension As Single)

Parametry

points
Point[]

Tablica Point struktur reprezentujących punkty definiujące krzywą.

offset
Int32

Indeks elementu w tablicy points , który jest używany jako pierwszy punkt w krzywej.

numberOfSegments
Int32

Wartość określająca ilość, którą krzywa zgina między punktami kontrolnymi. Wartości większe niż 1 generują nieprzewidywalne wyniki.

tension
Single

Wartość określająca ilość, którą krzywa zgina między punktami kontrolnymi. Wartości większe niż 1 generują nieprzewidywalne wyniki.

Przykłady

Poniższy przykład kodu jest przeznaczony do użytku z Windows Forms i wymaga PaintEventArgseobiektu OnPaint zdarzenia . Kod wykonuje następujące akcje:

  • Tworzy tablicę czterech punktów (reprezentujących kardynaną krzywą).

  • Tworzy ścieżkę i przy użyciu tablicy punktów dodaje krzywą do ścieżki.

  • Rysuje ścieżkę do ekranu.

Zwróć uwagę, że chociaż tablica zawiera cztery punkty, istnieją tylko trzy segmenty, które są liczbą określoną w trzecim argumencie wywołania metody AddCurve.

private:
   void AddCurveExample( PaintEventArgs^ e )
   {
      // Create some points.
      Point point1 = Point(20,20);
      Point point2 = Point(40,0);
      Point point3 = Point(60,40);
      Point point4 = Point(80,20);

      // Create an array of the points.
      array<Point>^ curvePoints = {point1,point2,point3,point4};

      // Create a GraphicsPath object and add a curve.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      myPath->AddCurve( curvePoints, 0, 3, 0.8f );

      // Draw the path to the screen.
      Pen^ myPen = gcnew Pen( Color::Black,2.0f );
      e->Graphics->DrawPath( myPen, myPath );
   }
private void AddCurveExample(PaintEventArgs e)
{
             
    // Create some points.
    Point point1 = new Point(20, 20);
    Point point2 = new Point(40, 0);
    Point point3 = new Point(60, 40);
    Point point4 = new Point(80, 20);
             
    // Create an array of the points.
    Point[] curvePoints = {point1, point2, point3, point4};
             
    // Create a GraphicsPath object and add a curve.
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddCurve(curvePoints, 0, 3, 0.8f);
             
    // Draw the path to the screen.
    Pen myPen = new Pen(Color.Black, 2);
    e.Graphics.DrawPath(myPen, myPath);
}
Public Sub AddCurveExample(ByVal e As PaintEventArgs)

    ' Create some points.
    Dim point1 As New Point(20, 20)
    Dim point2 As New Point(40, 0)
    Dim point3 As New Point(60, 40)
    Dim point4 As New Point(80, 20)

    ' Create an array of the points.
    Dim curvePoints As Point() = {point1, point2, point3, point4}

    ' Create a GraphicsPath object and add a curve.
    Dim myPath As New GraphicsPath
    myPath.AddCurve(curvePoints, 0, 3, 0.8F)

    ' Draw the path to the screen.
    Dim myPen As New Pen(Color.Black, 2)
    e.Graphics.DrawPath(myPen, myPath)
End Sub

Uwagi

Użytkownik musi zachować oryginalne punkty, jeśli są potrzebne. Oryginalne punkty są konwertowane do sześciennych punktów kontrolnych Bézier wewnętrznie, dlatego nie ma mechanizmu zwracania oryginalnych punktów.

Krzywa rozpoczyna się w punkcie w tablicy określonej przez offset parametr i zawiera liczbę punktów (segmentów) określonych przez numberOfSegments.

Dotyczy

AddCurve(ReadOnlySpan<PointF>, Single)

public:
 void AddCurve(ReadOnlySpan<System::Drawing::PointF> points, float tension);
public void AddCurve (ReadOnlySpan<System.Drawing.PointF> points, float tension);
member this.AddCurve : ReadOnlySpan<System.Drawing.PointF> * single -> unit
Public Sub AddCurve (points As ReadOnlySpan(Of PointF), tension As Single)

Parametry

tension
Single

Dotyczy

AddCurve(PointF[], Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

public:
 void AddCurve(cli::array <System::Drawing::PointF> ^ points, float tension);
public void AddCurve (System.Drawing.PointF[] points, float tension);
member this.AddCurve : System.Drawing.PointF[] * single -> unit
Public Sub AddCurve (points As PointF(), tension As Single)

Parametry

points
PointF[]

Tablica PointF struktur reprezentujących punkty definiujące krzywą.

tension
Single

Wartość określająca ilość, którą krzywa zgina między punktami kontrolnymi. Wartości większe niż 1 generują nieprzewidywalne wyniki.

Przykłady

Aby zapoznać się z przykładem, zobacz AddCurve(Point[], Int32, Int32, Single).

Uwagi

Użytkownik musi zachować oryginalne punkty, jeśli są potrzebne. Oryginalne punkty są konwertowane do sześciennych punktów kontrolnych Bézier wewnętrznie, dlatego nie ma mechanizmu zwracania oryginalnych punktów.

Dotyczy

AddCurve(Point[])

Dodaje krzywą krzywą spline do bieżącej ilustracji. Używana jest krzywa kardynaalna, ponieważ krzywa przechodzi przez każdy z punktów w tablicy.

public:
 void AddCurve(cli::array <System::Drawing::Point> ^ points);
public:
 void AddCurve(... cli::array <System::Drawing::Point> ^ points);
public void AddCurve (System.Drawing.Point[] points);
public void AddCurve (params System.Drawing.Point[] points);
member this.AddCurve : System.Drawing.Point[] -> unit
Public Sub AddCurve (points As Point())
Public Sub AddCurve (ParamArray points As Point())

Parametry

points
Point[]

Tablica Point struktur reprezentujących punkty definiujące krzywą.

Przykłady

Aby zapoznać się z przykładem, zobacz AddClosedCurve(Point[], Single).

Uwagi

Użytkownik musi zachować oryginalne punkty, jeśli są potrzebne. Oryginalne punkty są konwertowane do sześciennych punktów kontrolnych Bézier wewnętrznie, dlatego nie ma mechanizmu zwracania oryginalnych punktów.

Dotyczy

AddCurve(ReadOnlySpan<PointF>)

public:
 void AddCurve(ReadOnlySpan<System::Drawing::PointF> points);
public void AddCurve (ReadOnlySpan<System.Drawing.PointF> points);
member this.AddCurve : ReadOnlySpan<System.Drawing.PointF> -> unit
Public Sub AddCurve (points As ReadOnlySpan(Of PointF))

Parametry

Dotyczy

AddCurve(ReadOnlySpan<Point>)

public:
 void AddCurve(ReadOnlySpan<System::Drawing::Point> points);
public void AddCurve (ReadOnlySpan<System.Drawing.Point> points);
member this.AddCurve : ReadOnlySpan<System.Drawing.Point> -> unit
Public Sub AddCurve (points As ReadOnlySpan(Of Point))

Parametry

Dotyczy

AddCurve(PointF[])

Dodaje krzywą krzywą spline do bieżącej ilustracji. Używana jest krzywa kardynaalna, ponieważ krzywa przechodzi przez każdy z punktów w tablicy.

public:
 void AddCurve(cli::array <System::Drawing::PointF> ^ points);
public:
 void AddCurve(... cli::array <System::Drawing::PointF> ^ points);
public void AddCurve (System.Drawing.PointF[] points);
public void AddCurve (params System.Drawing.PointF[] points);
member this.AddCurve : System.Drawing.PointF[] -> unit
Public Sub AddCurve (points As PointF())
Public Sub AddCurve (ParamArray points As PointF())

Parametry

points
PointF[]

Tablica PointF struktur reprezentujących punkty definiujące krzywą.

Przykłady

Aby zapoznać się z przykładem, zobacz AddCurve(Point[], Int32, Int32, Single).

Uwagi

Użytkownik musi zachować oryginalne punkty, jeśli są potrzebne. Oryginalne punkty są konwertowane do sześciennych punktów kontrolnych Bézier wewnętrznie, dlatego nie ma mechanizmu zwracania oryginalnych punktów.

Dotyczy

AddCurve(Point[], Single)

Dodaje krzywą krzywą spline do bieżącej ilustracji.

public:
 void AddCurve(cli::array <System::Drawing::Point> ^ points, float tension);
public void AddCurve (System.Drawing.Point[] points, float tension);
member this.AddCurve : System.Drawing.Point[] * single -> unit
Public Sub AddCurve (points As Point(), tension As Single)

Parametry

points
Point[]

Tablica Point struktur reprezentujących punkty definiujące krzywą.

tension
Single

Wartość określająca ilość, którą krzywa zgina między punktami kontrolnymi. Wartości większe niż 1 generują nieprzewidywalne wyniki.

Przykłady

Aby zapoznać się z przykładem, zobacz AddClosedCurve(Point[], Single).

Uwagi

Użytkownik musi zachować oryginalne punkty, jeśli są potrzebne. Oryginalne punkty są konwertowane do sześciennych punktów kontrolnych Bézier wewnętrznie, dlatego nie ma mechanizmu zwracania oryginalnych punktów.

Dotyczy