InkStrokeRenderingSegment Classe

Definizione

Un singolo segmento di un tratto input penna completo.

Un singolo segmento è costituito da un punto iniziale, da un punto finale e da due punti di controllo di Bezier. Tuttavia, per una serie di segmenti che costituiscono un tratto, l'ultimo punto del segmento precedente è il primo punto del segmento corrente. Ciò significa che per rappresentare un tratto completo è necessario solo il punto finale per ogni segmento.

Ogni tratto è un vettore di oggetti InkStrokeRenderingSegment con il primo segmento identificato da un singolo punto iniziale e da tutti i segmenti rimanenti identificati da un punto finale e da due punti di controllo di Bezier.

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
Ereditarietà
Object Platform::Object IInspectable InkStrokeRenderingSegment
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

La funzione nell'esempio seguente illustra come derivare una curva di Bezier cubica per ogni segmento di un tratto input penna (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;
}

Commenti

Impostare la proprietà FitToCurve di DrawingAttributes su true se si desidera eseguire il rendering di un tratto input penna con curve di Bezier cubiche. In caso contrario, viene eseguito il rendering del tratto con segmenti di linea retta.

Proprietà

BezierControlPoint1

Ottiene il primo punto di controllo per la curva di Bézier.

BezierControlPoint2

Ottiene il secondo punto di controllo per la curva di Bézier.

Position

Ottiene il punto finale del segmento.

Pressure

Ottiene la pressione del contatto sulla superficie del digitalizzatore.

TiltX

Ottiene l'inclinazione del contatto lungo l'asse x.

TiltY

Ottiene l'inclinazione del contatto lungo l'asse y.

Twist

Ottiene la rotazione del contatto lungo l'asse rotazionale.

Si applica a

Vedi anche