Stroke.GetGeometry Método

Definición

Obtiene la propiedad Geometry del objeto Stroke actual.

Sobrecargas

GetGeometry()

Obtiene la propiedad Geometry del objeto Stroke actual.

GetGeometry(DrawingAttributes)

Obtiene el objeto Geometry del actual objeto Stroke utilizando el objeto DrawingAttributes especificado.

GetGeometry()

Obtiene la propiedad Geometry del objeto Stroke actual.

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

Devoluciones

Geometry que representa el objeto Stroke.

Comentarios

Use el GetGeometry método para obtener un PathGeometry objeto para personalizar la forma de Stroke. Considere la posibilidad de almacenar en caché el para Geometry evitar llamar a GetGeometry varias veces, lo que puede afectar al rendimiento.

Se aplica a

GetGeometry(DrawingAttributes)

Obtiene el objeto Geometry del actual objeto Stroke utilizando el objeto DrawingAttributes especificado.

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

Parámetros

drawingAttributes
DrawingAttributes

Objeto DrawingAttributes que determina el objeto Geometry del objeto Stroke.

Devoluciones

Geometry que representa el objeto Stroke.

Ejemplos

En el ejemplo siguiente se muestra cómo dibujar un círculo en cada StylusPoint una de las .Stroke Si la FitToCurve propiedad se establece trueen , GetBezierStylusPoints se usa para obtener los puntos del lápiz óptico. De lo contrario, se usa la StylusPoints propiedad .

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

Comentarios

El GetGeometry método usa las Widthpropiedades , Height, FitToCurvey StylusTipTransformStylusTip de drawingAttributes para determinar .Geometry Considere la posibilidad de almacenar en caché el para Geometry evitar llamar a GetGeometry varias veces, lo que puede afectar al rendimiento.

Se aplica a