Condividi tramite


GraphicsPath.Flatten Metodo

Definizione

Converte ogni curva in questo percorso in una sequenza di segmenti di linea collegati.

Overload

Flatten()

Converte ogni curva in questo percorso in una sequenza di segmenti di linea collegati.

Flatten(Matrix)

Applica la trasformazione specificata e quindi converte ogni curva in questo GraphicsPath in una sequenza di segmenti di linea connessi.

Flatten(Matrix, Single)

Converte ogni curva in questa GraphicsPath in una sequenza di segmenti di linea collegati.

Flatten()

Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Converte ogni curva in questo percorso in una sequenza di segmenti di linea collegati.

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

Esempio

Per un esempio, vedere Flatten(Matrix, Single).

Si applica a

Flatten(Matrix)

Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica la trasformazione specificata e quindi converte ogni curva in questo GraphicsPath in una sequenza di segmenti di linea connessi.

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)

Parametri

matrix
Matrix

Oggetto Matrix in base al quale trasformare questo GraphicsPath prima di appiattire.

Esempio

Per un esempio, vedere Flatten(Matrix, Single).

Si applica a

Flatten(Matrix, Single)

Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Converte ogni curva in questa GraphicsPath in una sequenza di segmenti di linea collegati.

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)

Parametri

matrix
Matrix

Oggetto Matrix in base al quale trasformare questo GraphicsPath prima di appiattire.

flatness
Single

Specifica l'errore massimo consentito tra la curva e l'approssimazione appiattita. Il valore predefinito è 0,25. La riduzione del valore di flatness aumenterà il numero di segmenti di linea nell'approssimazione.

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Form e richiede PaintEventArgse, un oggetto evento OnPaint. Il codice esegue le azioni seguenti:

  • Crea un percorso grafico e una matrice di traduzione.

  • Aggiunge una curva al percorso utilizzando quattro punti.

  • Disegna il percorso (curva) sullo schermo, utilizzando una penna nera.

  • Sposta la curva verso il basso di 10 pixel e la appiattisce.

  • Disegna la curva sullo schermo utilizzando una penna rossa.

Si noti che la curva rossa ha linee appiattite che collegano i punti.

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

Si applica a