Stroke.GetGeometry Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| GetGeometry() | |
| GetGeometry(DrawingAttributes) |
Obtient la Geometry valeur actuelle Stroke à l’aide de l’élément spécifié DrawingAttributes. |
GetGeometry()
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
Retours
Qui Geometry représente le Stroke.
Remarques
Utilisez la GetGeometry méthode pour obtenir un PathGeometry pour personnaliser la forme du Stroke. Envisagez de mettre en cache la Geometry mise en cache pour éviter d’appeler GetGeometry plusieurs fois, ce qui peut avoir un impact sur les performances.
S’applique à
GetGeometry(DrawingAttributes)
Obtient la Geometry valeur actuelle Stroke à l’aide de l’élément spécifié 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
Paramètres
- drawingAttributes
- DrawingAttributes
Qui DrawingAttributes détermine le GeometryStroke.
Retours
Qui Geometry représente le Stroke.
Exemples
L’exemple suivant montre comment dessiner un cercle à chacun StylusPoint d’un Stroke. Si la FitToCurve propriété est définie truesur , elle GetBezierStylusPoints est utilisée pour obtenir les points de stylet. Sinon, la StylusPoints propriété est utilisée.
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
Remarques
La GetGeometry méthode utilise les Widthpropriétés , , StylusTipHeightFitToCurveet StylusTipTransform de drawingAttributes déterminer le .Geometry Envisagez de mettre en cache la Geometry mise en cache pour éviter d’appeler GetGeometry plusieurs fois, ce qui peut avoir un impact sur les performances.