InkStrokeRenderingSegment Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ein einzelnes Segment eines vollständigen Freihandstrichs.
Ein einzelnes Segment besteht aus einem Startpunkt, einem Endpunkt und zwei Bézier-Steuerungspunkten. Für eine Reihe von Segmenten, die einen Strich bilden, ist der letzte Punkt des vorherigen Segments jedoch der erste Punkt des aktuellen Segments. Dies bedeutet, dass nur der Endpunkt für jedes Segment erforderlich ist, um einen vollständigen Strich darzustellen.
Jeder Strich ist ein Vektor von InkStrokeRenderingSegment-Objekten, wobei das erste Segment durch einen einzelnen Startpunkt und alle verbleibenden Segmente durch einen Endpunkt und zwei Bézier-Kontrollpunkte identifiziert werden.
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
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
Die Funktion im folgenden Beispiel veranschaulicht, wie eine kubische Bézierkurve für jedes Segment eines Freihandstrichs (stroke
) abgeleitet werden kann.
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;
}
Hinweise
Legen Sie die FitToCurve-Eigenschaft von DrawingAttributes auf true fest, wenn ein Freihandstrich mit kubischen Bézierkurven gerendert werden soll. Andernfalls wird der Strich mit geraden Liniensegmenten gerendert.
Eigenschaften
BezierControlPoint1 |
Ruft den ersten Steuerungspunkt für die Bézierkurve ab. |
BezierControlPoint2 |
Ruft den zweiten Steuerungspunkt für die Bézierkurve ab. |
Position |
Ruft den Endpunkt des Segments ab. |
Pressure |
Ruft den Druck des Kontakts auf der Digitizeroberfläche ab. |
TiltX |
Ruft die Neigung des Kontakts entlang der x-Achse ab. |
TiltY |
Ruft die Neigung des Kontakts entlang der y-Achse ab. |
Twist |
Ruft die Drehung des Kontakts entlang der Drehachse ab. |
Gilt für:
Weitere Informationen
- Zeichen- und Eingabestiftinteraktionen
- Erste Schritte: Unterstützung von Freihand in Ihrer UWP-App
- Freihandanalysebeispiel (basic) (C#)
- Beispiel für die Freihandschrifterkennung (C#)
- Speichern und Laden von Freihandstrichen aus einer ISF-Datei (Ink Serialized Format)
- Speichern und Laden von Freihandstrichen aus der Zwischenablage
- Beispiel für Position und Ausrichtung der Freihandsymbolleiste (Basic)
- Beispiel für Position und Ausrichtung der Freihandsymbolleiste (dynamisch)
- Malbuchbeispiel
- Familiennotizbeispiel
- Eingabe: vereinfachtes Freihandbeispiel
- Einfaches Freihandbeispiel (C#/C++)
- Beispiel für komplexe Freihandeingaben (C++)
- Freihandanalysebeispiel