Редагувати

Поділитися через


Stroke.GetBezierStylusPoints Method

Definition

Returns the stylus points the Stroke uses when FitToCurve is true.

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

Returns

A StylusPointCollection that contains the stylus points along the spine of a Stroke when FitToCurve is true.

Examples

The following example demonstrates how to draw a circle at each StylusPoint of a Stroke. If the FitToCurve property is set to true, the GetBezierStylusPoints is used to get the stylus points. Otherwise, the StylusPoints property is used.

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

Remarks

The GetBezierStylusPoints method returns a new StylusPointCollection that contains the stylus points that the Stroke uses when the FitToCurve property on the DrawingAttributes property is set to true. To get the stylus points that are used when FitToCurve is set to false, use the StylusPoints property.

Applies to