GraphicsPath.Flatten Méthode

Définition

Convertit chaque courbe de ce tracé en une succession de segments de ligne connectés.Converts each curve in this path into a sequence of connected line segments.

Surcharges

Flatten()

Convertit chaque courbe de ce tracé en une succession de segments de ligne connectés.Converts each curve in this path into a sequence of connected line segments.

Flatten(Matrix)

Applique la transformation spécifiée puis convertit chaque courbe de ce GraphicsPath en une succession de segments de ligne connectés.Applies the specified transform and then converts each curve in this GraphicsPath into a sequence of connected line segments.

Flatten(Matrix, Single)

Convertit chaque courbe de ce GraphicsPath en une succession de segments de ligne connectés.Converts each curve in this GraphicsPath into a sequence of connected line segments.

Flatten()

Convertit chaque courbe de ce tracé en une succession de segments de ligne connectés.Converts each curve in this path into a sequence of connected line segments.

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

Exemples

Pour obtenir un exemple, consultez Flatten(Matrix, Single).For an example, see Flatten(Matrix, Single).

Flatten(Matrix)

Applique la transformation spécifiée puis convertit chaque courbe de ce GraphicsPath en une succession de segments de ligne connectés.Applies the specified transform and then converts each curve in this GraphicsPath into a sequence of connected line segments.

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)

Paramètres

matrix
Matrix

Matrix à l'aide duquel transformer ce GraphicsPath avant de le réduire à deux dimensions.A Matrix by which to transform this GraphicsPath before flattening.

Exemples

Pour obtenir un exemple, consultez Flatten(Matrix, Single).For an example, see Flatten(Matrix, Single).

Flatten(Matrix, Single)

Convertit chaque courbe de ce GraphicsPath en une succession de segments de ligne connectés.Converts each curve in this GraphicsPath into a sequence of connected line segments.

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)

Paramètres

matrix
Matrix

Matrix à l'aide duquel transformer ce GraphicsPath avant de le réduire à deux dimensions.A Matrix by which to transform this GraphicsPath before flattening.

flatness
Single

Spécifie l'erreur maximale autorisée entre la courbe et son approximation à deux dimensions.Specifies the maximum permitted error between the curve and its flattened approximation. La valeur par défaut du paramètre 2D est égale à 0,25.A value of 0.25 is the default. Une réduction de cette valeur augmente le nombre de segments de ligne utilisés pour l'approximation.Reducing the flatness value will increase the number of line segments in the approximation.

Exemples

L’exemple de code suivant est conçu pour être utilisé avec Windows Forms, et il requiert PaintEventArgse, un objet d’événement OnPaint.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Le code effectue les actions suivantes :The code performs the following actions:

  • Crée un tracé graphique et une matrice de translation.Creates a graphics path and a translation matrix.

  • Ajoute une courbe au tracé à l’aide de quatre points.Adds a curve to the path using four points.

  • Dessine le tracé (courbe) à l’écran à l’aide d’un stylet noir.Draws the path (curve) to the screen, using a black pen.

  • Décale la courbe vers le dessous de 10 pixels et la aplatit.Shifts the curve down 10 pixels and flattens it.

  • Dessine la courbe à l’écran à l’aide d’un stylet rouge.Draws the curve to the screen using, a red pen.

Notez que la courbe rouge contient des lignes aplaties reliant les points.Notice that the red curve has flattened lines connecting the points.

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

S’applique à