InkStrokeRenderingSegment Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um único segmento de um traço de tinta completo.
Um único segmento consiste em um ponto de partida, um ponto final e dois pontos de controle bezier. No entanto, para uma série de segmentos que compõem um traço, o último ponto do segmento anterior é o primeiro ponto do segmento atual. Isso significa que apenas o ponto final de cada segmento é necessário para representar um traço completo.
Cada traço é um vetor de objetos InkStrokeRenderingSegment com o primeiro segmento identificado por um único ponto de partida e todos os segmentos restantes identificados por um ponto final e dois pontos de controle 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
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
A função no exemplo a seguir demonstra como uma curva de Bézier cúbica pode ser derivada para cada segmento de um traço de tinta (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;
}
Comentários
Defina a propriedade FitToCurve de DrawingAttributes como true se você quiser que um traço de tinta seja renderizado com curvas de Bézier cúbicas. Caso contrário, o traço é renderizado com segmentos de linha reta.
Propriedades
BezierControlPoint1 |
Obtém o primeiro ponto de controle para a curva de Bézier. |
BezierControlPoint2 |
Obtém o segundo ponto de controle para a curva de Bézier. |
Position |
Obtém o ponto final do segmento. |
Pressure |
Obtém a pressão do contato na superfície do digitalizador. |
TiltX |
Obtém a inclinação do contato ao longo do eixo x. |
TiltY |
Obtém a inclinação do contato ao longo do eixo y. |
Twist |
Obtém a torção do contato ao longo do eixo rotacional. |
Aplica-se a
Confira também
- Interações por caneta
- Introdução: oferecer suporte à tinta em seu aplicativo UWP
- Exemplo de análise de tinta (básico) (C#)
- Exemplo de reconhecimento de manuscrito à tinta (C#)
- Salvar e carregar traços de tinta de um arquivo ISF (Ink Serialized Format)
- Salvar e carregar traços de tinta da área de transferência
- Exemplo de localização e orientação da barra de ferramentas de tinta (básico)
- Exemplo de localização e orientação da barra de ferramentas de tinta (dinâmico)
- Exemplo de livro de colorir
- Exemplo de anotações da família
- Entrada: amostra de tinta simplificada
- Exemplo de escrita à tinta simples (C#/C++)
- Exemplo de escrita à tinta complexa (C++)
- Exemplo de análise de tinta