GraphicsPath.Flatten Metoda

Definice

Převede každou křivku v této dráze na sekvenci propojených segmentů čar.

Přetížení

Flatten()

Převede každou křivku v této dráze na sekvenci propojených segmentů čar.

Flatten(Matrix)

Použije zadanou transformaci a poté převede každou křivku v této GraphicsPath křivce na sekvenci propojených segmentů čáry.

Flatten(Matrix, Single)

Převede každou křivku na GraphicsPath sekvenci propojených segmentů čar.

Flatten()

Zdroj:
GraphicsPath.cs
Zdroj:
GraphicsPath.cs
Zdroj:
GraphicsPath.cs

Převede každou křivku v této dráze na sekvenci propojených segmentů čar.

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

Příklady

Příklad naleznete v tématu Flatten(Matrix, Single).

Platí pro

Flatten(Matrix)

Zdroj:
GraphicsPath.cs
Zdroj:
GraphicsPath.cs
Zdroj:
GraphicsPath.cs

Použije zadanou transformaci a poté převede každou křivku v této GraphicsPath křivce na sekvenci propojených segmentů čáry.

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)

Parametry

matrix
Matrix

Pomocí Matrix kterého se má transformovat před GraphicsPath zploštělováním.

Příklady

Příklad naleznete v tématu Flatten(Matrix, Single).

Platí pro

Flatten(Matrix, Single)

Zdroj:
GraphicsPath.cs
Zdroj:
GraphicsPath.cs
Zdroj:
GraphicsPath.cs

Převede každou křivku na GraphicsPath sekvenci propojených segmentů čar.

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)

Parametry

matrix
Matrix

Pomocí Matrix kterého se má transformovat před GraphicsPath zploštělováním.

flatness
Single

Určuje maximální povolenou chybu mezi křivkou a její plochou aproximací. Výchozí hodnota je 0,25. Snížením hodnoty plochosti se zvýší počet segmentů čar v aproximaci.

Příklady

Následující příklad kódu je navržený pro použití s model Windows Forms a vyžaduje PaintEventArgseobjekt OnPaint události . Kód provede následující akce:

  • Vytvoří cestu grafiky a matici překladu.

  • Přidá křivku k dráze pomocí čtyř bodů.

  • Nakreslí cestu (křivku) na obrazovku pomocí černého pera.

  • Posune křivku o 10 pixelů dolů a zploštědí ji.

  • Nakreslí křivku na obrazovku pomocí červeného pera.

Všimněte si, že červená křivka obsahuje zploštělé čáry spojující body.

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

Platí pro