Aracılığıyla paylaş


GraphicsPath.Flatten Yöntem

Tanım

Bu yoldaki her eğriyi bağlı çizgi kesimleri dizisine dönüştürür.

Aşırı Yüklemeler

Flatten()

Bu yoldaki her eğriyi bağlı çizgi kesimleri dizisine dönüştürür.

Flatten(Matrix)

Belirtilen dönüşümü uygular ve bu GraphicsPath her eğriyi bağlı çizgi kesimleri dizisine dönüştürür.

Flatten(Matrix, Single)

Bu GraphicsPath her eğriyi bağlı çizgi kesimleri dizisine dönüştürür.

Flatten()

Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs

Bu yoldaki her eğriyi bağlı çizgi kesimleri dizisine dönüştürür.

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

Örnekler

Bir örnek için bkz. Flatten(Matrix, Single).

Şunlara uygulanır

Flatten(Matrix)

Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs

Belirtilen dönüşümü uygular ve bu GraphicsPath her eğriyi bağlı çizgi kesimleri dizisine dönüştürür.

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)

Parametreler

matrix
Matrix

Düzleştirmeden önce bu GraphicsPath dönüştürebileceğiniz bir Matrix.

Örnekler

Bir örnek için bkz. Flatten(Matrix, Single).

Şunlara uygulanır

Flatten(Matrix, Single)

Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs
Kaynak:
GraphicsPath.cs

Bu GraphicsPath her eğriyi bağlı çizgi kesimleri dizisine dönüştürür.

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)

Parametreler

matrix
Matrix

Düzleştirmeden önce bu GraphicsPath dönüştürebileceğiniz bir Matrix.

flatness
Single

Eğri ile düzleştirilmiş yaklaşık değeri arasında izin verilen en yüksek hatayı belirtir. Varsayılan değer 0,25'tir. Düzlük değerinin azaltılması, yaklaşık değerdeki çizgi segmentlerinin sayısını artırır.

Örnekler

Aşağıdaki kod örneği, Windows Forms ile kullanılmak üzere tasarlanmıştır ve OnPaint bir olay nesnesi PaintEventArgsegerektirir. Kod aşağıdaki eylemleri gerçekleştirir:

  • Grafik yolu ve çeviri matrisi oluşturur.

  • Dört nokta kullanarak yola bir eğri ekler.

  • Siyah kalem kullanarak yolu (eğri) ekrana çizer.

  • Eğriyi 10 piksel aşağı kaydırır ve düzleştirir.

  • Kırmızı kalem kullanarak eğriyi ekrana çizer.

Kırmızı eğrinin noktaları bağlayan çizgileri düzleştirmesine dikkat edin.

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

Şunlara uygulanır