Aracılığıyla paylaş


Stroke.GetGeometry Yöntem

Tanım

Geometry Geçerli Strokeöğesinin öğesini alır.

Aşırı Yüklemeler

GetGeometry()

Geometry Geçerli Strokeöğesinin öğesini alır.

GetGeometry(DrawingAttributes)

Geometry Belirtilen DrawingAttributesöğesini kullanarak geçerli Stroke değerini alır.

GetGeometry()

Geometry Geçerli Strokeöğesinin öğesini alır.

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

Döndürülenler

Geometry

öğesini Geometry temsil eden Strokebir .

Açıklamalar

GetGeometry yöntemini kullanarak öğesinin şeklini Strokeözelleştirmek için yöntemini PathGeometry kullanın. Birden çok kez çağrılmasını GetGeometry önlemek için öğesini önbelleğe almayı Geometry göz önünde bulundurun ve bu da performansı etkileyebilir.

Şunlara uygulanır

GetGeometry(DrawingAttributes)

Geometry Belirtilen DrawingAttributesöğesini kullanarak geçerli Stroke değerini alır.

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

Parametreler

drawingAttributes
DrawingAttributes

öğesinin DrawingAttributes öğesini Geometry Strokebelirleyen.

Döndürülenler

Geometry

öğesini Geometry temsil eden Strokebir .

Örnekler

Aşağıdaki örnek, bir öğesinin her StylusPoint birine daire çizmeyi Strokegösterir. FitToCurve özelliği olarak ayarlanırsa trueGetBezierStylusPoints ekran kalemi noktalarını almak için kullanılır. Aksi takdirde özelliği StylusPoints kullanılır.

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

Açıklamalar

GetGeometry yöntemi , Height, StylusTip FitToCurveve StylusTipTransform özelliklerini drawingAttributes kullanarak Widthöğesini belirlerGeometry. Birden çok kez çağrılmasını GetGeometry önlemek için öğesini önbelleğe almayı Geometry göz önünde bulundurun ve bu da performansı etkileyebilir.

Şunlara uygulanır