Compartilhar via


GraphicsPath.Flatten Método

Definição

Converte cada curva nesse caminho em uma sequência de segmentos de linha conectados.

Sobrecargas

Flatten()

Converte cada curva nesse caminho em uma sequência de segmentos de linha conectados.

Flatten(Matrix)

Aplica a transformação especificada e converte cada curva neste GraphicsPath em uma sequência de segmentos de linha conectados.

Flatten(Matrix, Single)

Converte cada curva neste GraphicsPath em uma sequência de segmentos de linha conectados.

Flatten()

Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs

Converte cada curva nesse caminho em uma sequência de segmentos de linha conectados.

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

Exemplos

Para obter um exemplo, consulte Flatten(Matrix, Single).

Aplica-se a

Flatten(Matrix)

Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs

Aplica a transformação especificada e converte cada curva neste GraphicsPath em uma sequência de segmentos de linha 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

Um Matrix pelo qual transformar essa GraphicsPath antes de mesclar.

Exemplos

Para obter um exemplo, consulte Flatten(Matrix, Single).

Aplica-se a

Flatten(Matrix, Single)

Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs
Origem:
GraphicsPath.cs

Converte cada curva neste GraphicsPath em uma sequência de segmentos de linha 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

Um Matrix pelo qual transformar essa GraphicsPath antes de mesclar.

flatness
Single

Especifica o erro máximo permitido entre a curva e sua aproximação nivelada. Um valor de 0,25 é o padrão. Reduzir o valor de flatness aumentará o número de segmentos de linha na aproximação.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, um objeto de evento OnPaint. O código executa as seguintes ações:

  • Cria um caminho gráfico e uma matriz de tradução.

  • Adiciona uma curva ao caminho usando quatro pontos.

  • Desenha o caminho (curva) para a tela, usando uma caneta preta.

  • Desloca a curva para baixo 10 pixels e a nivela.

  • Desenha a curva para a tela usando uma caneta vermelha.

Observe que a curva vermelha tem linhas niveladas conectando os pontos.

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

Aplica-se a