Stroke.GetGeometry Metodo

Definizione

Ottiene il Geometry del Stroke corrente.

Overload

GetGeometry()

Ottiene il Geometry del Stroke corrente.

GetGeometry(DrawingAttributes)

Ottiene l'oggetto Geometry corrente per l'oggetto Stroke utilizzando gli attributi DrawingAttributes specificati.

GetGeometry()

Ottiene il Geometry del Stroke corrente.

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

Restituisce

Oggetto Geometry che rappresenta l'oggetto Stroke.

Commenti

Utilizzare il GetGeometry metodo per ottenere un PathGeometry oggetto per personalizzare la forma di Stroke. Prendere in considerazione la memorizzazione nella Geometry cache per evitare la chiamata GetGeometry più volte, che può influire sulle prestazioni.

Si applica a

GetGeometry(DrawingAttributes)

Ottiene l'oggetto Geometry corrente per l'oggetto Stroke utilizzando gli attributi DrawingAttributes specificati.

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

Parametri

drawingAttributes
DrawingAttributes

Oggetto DrawingAttributes che determina la Geometry dell'oggetto Stroke.

Restituisce

Oggetto Geometry che rappresenta l'oggetto Stroke.

Esempio

Nell'esempio seguente viene illustrato come disegnare un cerchio in ogni StylusPoint oggetto Stroke. Se la FitToCurve proprietà è impostata su true, viene GetBezierStylusPoints utilizzata per ottenere i punti dello stilo. In caso contrario, viene usata la StylusPoints proprietà .

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

Commenti

Il GetGeometry metodo usa le Widthproprietà , , FitToCurveHeightStylusTip e StylusTipTransform di drawingAttributes per determinare l'oggetto .Geometry Prendere in considerazione la memorizzazione nella Geometry cache per evitare la chiamata GetGeometry più volte, che può influire sulle prestazioni.

Si applica a