GraphicsPath.Flatten Methode

Definitie

Converteert elke curve in dit pad naar een reeks verbonden lijnsegmenten.

Overloads

Name Description
Flatten()

Converteert elke curve in dit pad naar een reeks verbonden lijnsegmenten.

Flatten(Matrix)

Hiermee past u de opgegeven transformatie toe en converteert u vervolgens elke curve in deze GraphicsPath curve naar een reeks verbonden lijnsegmenten.

Flatten(Matrix, Single)

Converteert elke curve in deze GraphicsPath curve naar een reeks verbonden lijnsegmenten.

Flatten()

Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs

Converteert elke curve in dit pad naar een reeks verbonden lijnsegmenten.

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

Voorbeelden

Zie Flatten(Matrix, Single)voor een voorbeeld.

Van toepassing op

Flatten(Matrix)

Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs

Hiermee past u de opgegeven transformatie toe en converteert u vervolgens elke curve in deze GraphicsPath curve naar een reeks verbonden lijnsegmenten.

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)

Parameters

matrix
Matrix

Een Matrix om dit GraphicsPath te transformeren voordat deze wordt afgevlakt.

Voorbeelden

Zie Flatten(Matrix, Single)voor een voorbeeld.

Van toepassing op

Flatten(Matrix, Single)

Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs
Bron:
GraphicsPath.cs

Converteert elke curve in deze GraphicsPath curve naar een reeks verbonden lijnsegmenten.

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)

Parameters

matrix
Matrix

Een Matrix om dit GraphicsPath te transformeren voordat deze wordt afgevlakt.

flatness
Single

Hiermee geeft u de maximaal toegestane fout tussen de curve en de afgeplatte benadering. Een waarde van 0,25 is de standaardwaarde. Het verminderen van de vlakheidswaarde verhoogt het aantal lijnsegmenten in de benadering.

Voorbeelden

Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een OnPaint-gebeurtenisobject. De code voert de volgende acties uit:

  • Hiermee maakt u een grafisch pad en een vertaalmatrix.

  • Hiermee voegt u een curve toe aan het pad met behulp van vier punten.

  • Hiermee tekent u het pad (curve) naar het scherm met behulp van een zwarte pen.

  • Hiermee wordt de curve naar beneden 10 pixels verschoven en platgemaakt.

  • Hiermee tekent u de curve naar het scherm met behulp van een rode pen.

U ziet dat de rode curve platte lijnen heeft die de punten 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

Van toepassing op