Språk

Stroke.GetGeometry Metod

Definition

Hämtar den Geometry aktuella Stroke.

Överlagringar

Name Description
GetGeometry()

Hämtar den Geometry aktuella Stroke.

GetGeometry(DrawingAttributes)

Geometry Hämtar den aktuella med Stroke den angivna DrawingAttributes.

GetGeometry()

Hämtar den Geometry aktuella 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

Returer

En Geometry som representerar Stroke.

Kommentarer

GetGeometry Använd metoden för att hämta en PathGeometry för att anpassa formen på Stroke. Överväg att cachelagra Geometry för att undvika att anropa GetGeometry flera gånger, vilket kan påverka prestanda.

Gäller för

GetGeometry(DrawingAttributes)

Geometry Hämtar den aktuella med Stroke den angivna 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

Parametrar

drawingAttributes
DrawingAttributes

Det DrawingAttributes som avgör Geometry för Stroke.

Returer

En Geometry som representerar Stroke.

Exempel

I följande exempel visas hur du ritar en cirkel på var och StylusPoint en av en Stroke. Om egenskapen FitToCurve är inställd på trueanvänds den GetBezierStylusPoints för att hämta pennans punkter. Annars används egenskapen StylusPoints .

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

Kommentarer

Metoden GetGeometry använder Widthegenskaperna Height , FitToCurve, StylusTipStylusTipTransform och drawingAttributes för att fastställa Geometry. Överväg att cachelagra Geometry för att undvika att anropa GetGeometry flera gånger, vilket kan påverka prestanda.

Gäller för