Freigeben über


Stroke.GetGeometry Methode

Definition

Ruft Geometry für die aktuelle Stroke ab.

Überlädt

GetGeometry()

Ruft Geometry für die aktuelle Stroke ab.

GetGeometry(DrawingAttributes)

Ruft die Geometry des aktuellen Stroke unter Verwendung des angegebenen DrawingAttributes ab.

GetGeometry()

Ruft Geometry für die aktuelle Stroke ab.

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

Gibt zurück

Eine Geometry, die den Stroke darstellt.

Hinweise

Verwenden Sie die GetGeometry -Methode, um eine PathGeometry abzurufen, um die Form des Strokeanzupassen. Erwägen Sie das Zwischenspeichern von Geometry , um zu vermeiden, dass mehrere Aufrufe wiederholt werden GetGeometry , was sich auf die Leistung auswirken kann.

Gilt für:

GetGeometry(DrawingAttributes)

Ruft die Geometry des aktuellen Stroke unter Verwendung des angegebenen DrawingAttributes ab.

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

Das DrawingAttributes, das die Geometry des Stroke bestimmt.

Gibt zurück

Eine Geometry, die den Stroke darstellt.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie ein Kreis an jedem StylusPoint von gezeichnet wird Stroke. Wenn die FitToCurve -Eigenschaft auf truefestgelegt ist, wird verwendet GetBezierStylusPoints , um die Tablettstiftpunkte abzurufen. Andernfalls wird die StylusPoints -Eigenschaft verwendet.

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

Hinweise

Die GetGeometry -Methode verwendet die WidthEigenschaften , Height, FitToCurveund StylusTipStylusTipTransform von drawingAttributes , um die Geometryzu bestimmen. Erwägen Sie das Zwischenspeichern von Geometry , um zu vermeiden, dass mehrere Aufrufe wiederholt werden GetGeometry , was sich auf die Leistung auswirken kann.

Gilt für: