Bagikan melalui


Stroke.GetGeometry Metode

Definisi

Geometry Mendapatkan dari saat ini Stroke.

Overload

GetGeometry()

Geometry Mendapatkan dari saat ini Stroke.

GetGeometry(DrawingAttributes)

Geometry Mendapatkan dari saat ini Stroke menggunakan yang ditentukan DrawingAttributes.

GetGeometry()

Geometry Mendapatkan dari saat ini Stroke.

public:
 System::Windows::Media::Geometry ^ GetGeometry();
public System.Windows.Media.Geometry GetGeometry ();
member this.GetGeometry : unit -> System.Windows.Media.Geometry
Public Function GetGeometry () As Geometry

Mengembalikan

Geometry yang mewakili Stroke.

Keterangan

GetGeometry Gunakan metode untuk mendapatkan PathGeometry untuk menyesuaikan bentuk Stroke. Pertimbangkan penembolokan Geometry untuk menghindari panggilan GetGeometry beberapa kali, yang dapat memengaruhi performa.

Berlaku untuk

GetGeometry(DrawingAttributes)

Geometry Mendapatkan dari saat ini Stroke menggunakan yang ditentukan DrawingAttributes.

public:
 System::Windows::Media::Geometry ^ GetGeometry(System::Windows::Ink::DrawingAttributes ^ drawingAttributes);
public System.Windows.Media.Geometry GetGeometry (System.Windows.Ink.DrawingAttributes drawingAttributes);
member this.GetGeometry : System.Windows.Ink.DrawingAttributes -> System.Windows.Media.Geometry
Public Function GetGeometry (drawingAttributes As DrawingAttributes) As Geometry

Parameter

drawingAttributes
DrawingAttributes

DrawingAttributes yang menentukan Geometry dari Stroke.

Mengembalikan

Geometry yang mewakili Stroke.

Contoh

Contoh berikut menunjukkan cara menggambar lingkaran di masing-masing StylusPointStroke. FitToCurve Jika properti diatur ke true, GetBezierStylusPoints digunakan untuk mendapatkan titik stylus. Jika tidak, StylusPoints properti digunakan.

protected override void DrawCore(DrawingContext context, DrawingAttributes overrides)
{
    // Draw the stroke. Calling base.DrawCore accomplishes the same thing.
    Geometry geometry = GetGeometry(overrides);
    context.DrawGeometry(new SolidColorBrush(overrides.Color), null, geometry);

    StylusPointCollection points;

    // Get the stylus points used to draw the stroke.  The points used depends on
    // the value of FitToCurve.
    if (this.DrawingAttributes.FitToCurve)
    {
        points = this.GetBezierStylusPoints();
    }
    else
    {
        points = this.StylusPoints;
    }

    // Draw a circle at each stylus point.
    foreach (StylusPoint p in points)
    {
        context.DrawEllipse(null, new Pen(Brushes.Black, 1), (Point)p, 5, 5);
    }
}
Protected Overrides Sub DrawCore(ByVal context As DrawingContext, _
        ByVal overridedAttributes As DrawingAttributes)

    ' Draw the stroke. Calling base.DrawCore accomplishes the same thing.
    Dim geometry As Geometry = GetGeometry(overridedAttributes)
    context.DrawGeometry(New SolidColorBrush(overridedAttributes.Color), Nothing, geometry)

    Dim points As StylusPointCollection

    ' Get the stylus points used to draw the stroke.  The points used depends on
    ' the value of FitToCurve.
    If Me.DrawingAttributes.FitToCurve Then
        points = Me.GetBezierStylusPoints()
    Else
        points = Me.StylusPoints
    End If

    ' Draw a circle at each stylus point.
    Dim p As StylusPoint
    For Each p In points
        context.DrawEllipse(Nothing, New Pen(Brushes.Black, 1), CType(p, Point), 5, 5)
    Next p

End Sub

Keterangan

Metode ini GetGeometry menggunakan Widthproperti , Height, FitToCurve, StylusTip dan StylusTipTransform untuk drawingAttributes menentukan Geometry. Pertimbangkan penembolokan Geometry untuk menghindari panggilan GetGeometry beberapa kali, yang dapat memengaruhi performa.

Berlaku untuk