GraphicsPath.Flatten Methode

Definition

Konvertiert jede Kurve in diesem Pfad in eine Abfolge verbundener Liniensegmente.

Überlädt

Flatten()

Konvertiert jede Kurve in diesem Pfad in eine Abfolge verbundener Liniensegmente.

Flatten(Matrix)

Wendet die angegebene Transformation an und konvertiert dann jede Kurve in diesem GraphicsPath in eine Abfolge verbundener Liniensegmente.

Flatten(Matrix, Single)

Konvertiert jede Kurve in diesem GraphicsPath in eine Abfolge verbundener Liniensegmente.

Flatten()

Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Konvertiert jede Kurve in diesem Pfad in eine Abfolge verbundener Liniensegmente.

public:
 void Flatten();
public void Flatten ();
member this.Flatten : unit -> unit
Public Sub Flatten ()

Beispiele

Ein Beispiel finden Sie unter Flatten(Matrix, Single).

Gilt für:

Flatten(Matrix)

Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Wendet die angegebene Transformation an und konvertiert dann jede Kurve in diesem GraphicsPath in eine Abfolge verbundener Liniensegmente.

public:
 void Flatten(System::Drawing::Drawing2D::Matrix ^ matrix);
public void Flatten (System.Drawing.Drawing2D.Matrix matrix);
public void Flatten (System.Drawing.Drawing2D.Matrix? matrix);
member this.Flatten : System.Drawing.Drawing2D.Matrix -> unit
Public Sub Flatten (matrix As Matrix)

Parameter

matrix
Matrix

Eine Matrix, mit der dieser GraphicsPath vor dem Abflachen transformiert wird.

Beispiele

Ein Beispiel finden Sie unter Flatten(Matrix, Single).

Gilt für:

Flatten(Matrix, Single)

Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Konvertiert jede Kurve in diesem GraphicsPath in eine Abfolge verbundener Liniensegmente.

public:
 void Flatten(System::Drawing::Drawing2D::Matrix ^ matrix, float flatness);
public void Flatten (System.Drawing.Drawing2D.Matrix matrix, float flatness);
public void Flatten (System.Drawing.Drawing2D.Matrix? matrix, float flatness);
member this.Flatten : System.Drawing.Drawing2D.Matrix * single -> unit
Public Sub Flatten (matrix As Matrix, flatness As Single)

Parameter

matrix
Matrix

Eine Matrix, mit der dieser GraphicsPath vor dem Abflachen transformiert wird.

flatness
Single

Gibt die höchstzulässige Abweichung zwischen der Kurve und ihrer abgeflachten Näherungskurve an. Der Standardwert ist 0,25. Wenn der Abflachungswert verringert wird, erhöht sich die Anzahl der Liniensegmente in der Näherungskurve.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgseein OnPaint Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen Grafikpfad und eine Übersetzungsmatrix.

  • Fügt dem Pfad mithilfe von vier Punkten eine Kurve hinzu.

  • Zeichnet den Pfad (Kurve) mit einem schwarzen Stift zum Bildschirm.

  • Verschiebt die Kurve um 10 Pixel nach unten und flacht sie ab.

  • Zeichnet die Kurve mit einem roten Stift auf den Bildschirm.

Beachten Sie, dass die rote Kurve abgeflachte Linien aufweist, die die Punkte verbinden.

private:
   void FlattenExample( PaintEventArgs^ e )
   {
      GraphicsPath^ myPath = gcnew GraphicsPath;
      Matrix^ translateMatrix = gcnew Matrix;
      translateMatrix->Translate( 0, 10 );
      Point point1 = Point(20,100);
      Point point2 = Point(70,10);
      Point point3 = Point(130,200);
      Point point4 = Point(180,100);
      array<Point>^ points = {point1,point2,point3,point4};
      myPath->AddCurve( points );
      e->Graphics->DrawPath( gcnew Pen( Color::Black,2.0f ), myPath );
      myPath->Flatten( translateMatrix, 10.0f );
      e->Graphics->DrawPath( gcnew Pen( Color::Red,1.0f ), myPath );
   }
private void FlattenExample(PaintEventArgs e)
{
    GraphicsPath myPath = new GraphicsPath();
    Matrix translateMatrix = new Matrix();
    translateMatrix.Translate(0, 10);
    Point point1 = new Point(20, 100);
    Point point2 = new Point(70, 10);
    Point point3 = new Point(130, 200);
    Point point4 = new Point(180, 100);
    Point[] points = {point1, point2, point3, point4};
    myPath.AddCurve(points);
    e.Graphics.DrawPath(new Pen(Color.Black, 2), myPath);
    myPath.Flatten(translateMatrix, 10f);
    e.Graphics.DrawPath(new Pen(Color.Red, 1), myPath);
}
Public Sub FlattenExample(ByVal e As PaintEventArgs)
    Dim myPath As New GraphicsPath
    Dim translateMatrix As New Matrix
    translateMatrix.Translate(0, 10)
    Dim point1 As New Point(20, 100)
    Dim point2 As New Point(70, 10)
    Dim point3 As New Point(130, 200)
    Dim point4 As New Point(180, 100)
    Dim points As Point() = {point1, point2, point3, point4}
    myPath.AddCurve(points)
    e.Graphics.DrawPath(New Pen(Color.Black, 2), myPath)
    myPath.Flatten(translateMatrix, 10.0F)
    e.Graphics.DrawPath(New Pen(Color.Red, 1), myPath)
End Sub
'FlattenExample

Gilt für: