Compartir vía


GraphicsPath.Flatten Método

Definición

Convierte cada curva de esta ruta en una secuencia de segmentos de línea conectados.

Sobrecargas

Flatten()

Convierte cada curva de esta ruta en una secuencia de segmentos de línea conectados.

Flatten(Matrix)

Aplica la transformación especificada y, a continuación, convierte cada curva de este GraphicsPath en una secuencia de segmentos de línea conectados.

Flatten(Matrix, Single)

Convierte cada curva de este GraphicsPath en una secuencia de segmentos de línea conectados.

Flatten()

Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs

Convierte cada curva de esta ruta en una secuencia de segmentos de línea conectados.

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

Ejemplos

Para obtener un ejemplo, vea Flatten(Matrix, Single).

Se aplica a

Flatten(Matrix)

Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs

Aplica la transformación especificada y, a continuación, convierte cada curva de este GraphicsPath en una secuencia de segmentos de línea conectados.

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)

Parámetros

matrix
Matrix

Un Matrix por el que se va a transformar este GraphicsPath antes de aplanar.

Ejemplos

Para obtener un ejemplo, vea Flatten(Matrix, Single).

Se aplica a

Flatten(Matrix, Single)

Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs

Convierte cada curva de este GraphicsPath en una secuencia de segmentos de línea conectados.

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)

Parámetros

matrix
Matrix

Un Matrix por el que se va a transformar este GraphicsPath antes de aplanar.

flatness
Single

Especifica el error máximo permitido entre la curva y su aproximación plana. Un valor de 0,25 es el valor predeterminado. Al reducir el valor de plano, aumentará el número de segmentos de línea en la aproximación.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, un objeto de evento OnPaint. El código realiza las siguientes acciones:

  • Crea una ruta de acceso de gráficos y una matriz de traducción.

  • Agrega una curva a la ruta de acceso mediante cuatro puntos.

  • Dibuja la ruta de acceso (curva) a la pantalla, utilizando un lápiz negro.

  • Desplaza la curva hacia abajo de 10 píxeles y la aplana.

  • Dibuja la curva a la pantalla utilizando un lápiz rojo.

Observe que la curva roja tiene líneas planas que conectan los puntos.

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

Se aplica a