Stroke.GetBezierStylusPoints Yöntem

Tanım

olduğunda FitToCurvetruekullanılan ekran kalemi noktalarını Stroke döndürür.

public:
 System::Windows::Input::StylusPointCollection ^ GetBezierStylusPoints();
public System.Windows.Input.StylusPointCollection GetBezierStylusPoints();
member this.GetBezierStylusPoints : unit -> System.Windows.Input.StylusPointCollection
Public Function GetBezierStylusPoints () As StylusPointCollection

Döndürülenler

olduğundaStylusPointCollection, bir'in omurgası boyunca ekran kalemi noktalarını içeren bir FitToCurveStroketrue.

Örnekler

Aşağıdaki örnekte, bir öğesinin her StylusPoint birine daire çizme gösterilmektedir Stroke. FitToCurve özelliği olarak trueGetBezierStylusPoints ayarlanırsa ekran kalemi noktalarını almak için kullanılır. Aksi takdirde özelliği StylusPoints kullanılır.

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

Açıklamalar

yöntemi, GetBezierStylusPoints özelliğindeki özelliği DrawingAttributes olarak ayarlandığında truekullanılan FitToCurve ekran kalemi noktalarını Stroke içeren yeni StylusPointCollection bir döndürür. olarak ayarlandığında kullanılan FitToCurve ekran kalemi noktalarını almak için falseözelliğini kullanın StylusPoints .

Şunlara uygulanır