Freigeben über


GraphicsPath.Flatten Methode

Definition

Wandelt jede Kurve in diesem Pfad in eine Sequenz verbundener Liniensegmente um.

Überlädt

Flatten()

Wandelt jede Kurve in diesem Pfad in eine Sequenz verbundener Liniensegmente um.

Flatten(Matrix)

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

Flatten(Matrix, Single)

Wandelt jede Kurve in dieser GraphicsPath in eine Folge verbundener Liniensegmente um.

Flatten()

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

Wandelt jede Kurve in diesem Pfad in eine Sequenz verbundener Liniensegmente um.

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
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Wendet die angegebene Transformation an und konvertiert dann jede Kurve in dieser GraphicsPath in eine Sequenz 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, um die GraphicsPath zu transformieren, bevor sie flach 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
Quelle:
GraphicsPath.cs
Quelle:
GraphicsPath.cs

Wandelt jede Kurve in dieser GraphicsPath in eine Folge verbundener Liniensegmente um.

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, um die GraphicsPath zu transformieren, bevor sie flach wird.

flatness
Single

Gibt den maximal zulässigen Fehler zwischen der Kurve und dessen flacher Annäherung an. Ein Wert von 0,25 ist der Standardwert. Die Verringerung des Flachheitswerts erhöht die Anzahl der Liniensegmente in der Annäherung.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, ein OnPaint-Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen Grafikpfad und eine Übersetzungsmatrix.

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

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

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

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

Beachten Sie, dass die rote Kurve flache Linien hat, 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: