InkStrokeRenderingSegment Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Un único segmento de un trazo de lápiz completo.
Un único segmento consta de un punto inicial, un punto final y dos puntos de control Bezier. Sin embargo, para una serie de segmentos que componen un trazo, el último punto del segmento anterior es el primer punto del segmento actual. Esto significa que solo se requiere el punto final de cada segmento para representar un trazo completo.
Cada trazo es un vector de objetos InkStrokeRenderingSegment con el primer segmento identificado por un único punto inicial y todos los segmentos restantes identificados por un punto final y dos puntos de control 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
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
Ejemplos
La función del ejemplo siguiente muestra cómo se puede derivar una curva Bézier cúbica para cada segmento de un trazo de lápiz (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;
}
Comentarios
Establezca la propiedad FitToCurve de DrawingAttributes en true si desea que se represente un trazo de lápiz con curvas Bezier cúbicas. De lo contrario, el trazo se representa con segmentos de línea recta.
Propiedades
BezierControlPoint1 |
Obtiene el primer punto de control para la curva Bézier. |
BezierControlPoint2 |
Obtiene el segundo punto de control de la curva Bézier. |
Position |
Obtiene el punto final del segmento. |
Pressure |
Obtiene la presión del contacto en la superficie del digitalizador. |
TiltX |
Obtiene la inclinación del contacto a lo largo del eje x. |
TiltY |
Obtiene la inclinación del contacto a lo largo del eje y. |
Twist |
Obtiene el giro del contacto a lo largo del eje rotacional. |
Se aplica a
Consulte también
- Interacciones de pluma y lápiz
- Introducción: Compatibilidad con la entrada de lápiz en la aplicación para UWP
- Ejemplo de análisis de entrada de lápiz (básico) (C#)
- Ejemplo de reconocimiento de escritura a mano de lápiz (C#)
- Guardar y cargar trazos de lápiz desde un archivo de formato serializado de entrada de lápiz (ISF)
- Guardar y cargar trazos de lápiz desde el Portapapeles
- Ejemplo de orientación y ubicación de la barra de herramientas de entrada de lápiz (básico)
- Ejemplo de orientación y ubicación de la barra de herramientas de entrada de lápiz (dinámica)
- Muestra de libro para colorear
- Muestra de notas familiares
- Entrada: ejemplo de entrada de lápiz simplificada
- Ejemplo de entrada manuscrita simple (C#/C++)
- Ejemplo de entrada manuscrita compleja (C++)
- Ejemplo de análisis de entrada de lápiz