Partage via


InkStrokeRenderingSegment Classe

Définition

Segment unique d’un trait d’encre complet.

Un seul segment se compose d’un point de départ, d’un point de fin et de deux points de contrôle béziers. Toutefois, pour une série de segments qui composent un trait, le dernier point du segment précédent est le premier point du segment actuel. Cela signifie que seul le point de fin de chaque segment est requis pour représenter un trait complet.

Chaque trait est un vecteur d’objets InkStrokeRenderingSegment avec le premier segment identifié par un point de départ unique et tous les segments restants identifiés par un point de fin et deux points de contrôle Bézier.

public ref class InkStrokeRenderingSegment sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class InkStrokeRenderingSegment final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class InkStrokeRenderingSegment
Public NotInheritable Class InkStrokeRenderingSegment
Héritage
Object Platform::Object IInspectable InkStrokeRenderingSegment
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

La fonction de l’exemple suivant montre comment une courbe de Bézier cubique peut être dérivée pour chaque segment d’un trait d’encre (stroke).

public static Windows.UI.Xaml.Shapes.Path CreateBezierPath(Windows.UI.Input.Inking.InkStroke stroke)
{
    // Create Bezier geometries using information provided by the stroke's segments
    var figure = new Windows.UI.Xaml.Media.PathFigure();
    var segments = stroke.GetRenderingSegments().GetEnumerator();
    segments.MoveNext();
    // First segment is degenerate and corresponds to initial position
    figure.StartPoint = segments.Current.Position;
    // Now loop through all remaining segments
    while (segments.MoveNext())
    {
        var bs = new Windows.UI.Xaml.Media.BezierSegment();
        bs.Point1 = segments.Current.BezierControlPoint1;
        bs.Point2 = segments.Current.BezierControlPoint2;
        bs.Point3 = segments.Current.Position;
        figure.Segments.Add(bs);
    }

    // Create and initialize the data structures necessary to render the figure
    var geometry = new Windows.UI.Xaml.Media.PathGeometry();
    geometry.Figures.Add(figure);
    var path = new Windows.UI.Xaml.Shapes.Path();
    path.Data = geometry;

    // Set the stroke's graphical properties, which are controlled by the Path object
    path.Stroke = new Windows.UI.Xaml.Media.SolidColorBrush(stroke.DrawingAttributes.Color);
    path.StrokeThickness = stroke.DrawingAttributes.Size.Width;
    path.StrokeLineJoin = Windows.UI.Xaml.Media.PenLineJoin.Round;
    path.StrokeStartLineCap = Windows.UI.Xaml.Media.PenLineCap.Round;

    return path;
}

Remarques

Définissez la propriété FitToCurve de DrawingAttributes sur true si vous souhaitez qu’un trait d’encre soit rendu avec des courbes de Bézier cubiques. Sinon, le trait est rendu avec des segments de ligne droite.

Propriétés

BezierControlPoint1

Obtient le premier point de contrôle de la courbe de Bézier.

BezierControlPoint2

Obtient le deuxième point de contrôle de la courbe de Bézier.

Position

Obtient le point de fin du segment.

Pressure

Obtient la pression du contact sur la surface du numériseur.

TiltX

Obtient l’inclinaison du contact le long de l’axe X.

TiltY

Obtient l’inclinaison du contact le long de l’axe y.

Twist

Obtient la torsion du contact le long de l’axe de rotation.

S’applique à

Voir aussi