Sdílet prostřednictvím


GraphicsPath.Flatten Metoda

Definice

Převede každou křivku v této cestě na posloupnost propojených segmentů čar.

Přetížení

Flatten()

Převede každou křivku v této cestě na posloupnost propojených segmentů čar.

Flatten(Matrix)

Použije zadanou transformaci a pak převede každou křivku v tomto GraphicsPath na posloupnost propojených segmentů čar.

Flatten(Matrix, Single)

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

Flatten()

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

Převede každou křivku v této cestě na posloupnost propojených segmentů čar.

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

Příklady

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

Platí pro

Flatten(Matrix)

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

Použije zadanou transformaci a pak převede každou křivku v tomto GraphicsPath na posloupnost propojených segmentů čar.

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

Matrix, pomocí kterého se má tato GraphicsPath před zploštěním transformovat.

Příklady

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

Platí pro

Flatten(Matrix, Single)

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

Převede každou křivku v této GraphicsPath na 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

Matrix, pomocí kterého se má tato GraphicsPath před zploštěním transformovat.

flatness
Single

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

Příklady

Následující příklad kódu je určen pro použití s Windows Forms a vyžaduje PaintEventArgse, OnPaint objekt události. Kód provede následující akce:

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

  • Přidá k cestě křivku pomocí čtyř bodů.

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

  • Posune křivku o 10 pixelů dolů a zploštěná.

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

Všimněte si, že červená křivka má zploštěné čá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