InkStrokeRenderingSegment Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отдельный сегмент полного росчерка рукописного ввода.
Один сегмент состоит из начальной точки, конечной точки и двух контрольных точек Безье. Однако для ряда сегментов, составляющих штрих, последняя точка предыдущего сегмента является первой точкой текущего сегмента. Это означает, что для представления полного росчерка требуется только конечная точка для каждого сегмента.
Каждый штрих является вектором объектов InkStrokeRenderingSegment с первым сегментом, определяемым одной начальной точкой, а все остальные сегменты идентифицируются конечной точкой и двумя контрольными точками Безье.
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
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
Функция в следующем примере демонстрирует, как можно получить кубическую кривую Безье для каждого сегмента росчерка рукописного ввода (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;
}
Комментарии
Присвойте свойству FitToCurveсвойства DrawingAttributes значение true, если вы хотите, чтобы росчерк рукописного ввода отображался с помощью кривых Безье. В противном случае штрих отображается с прямыми сегментами.
Свойства
BezierControlPoint1 |
Возвращает первую контрольную точку для кривой Безье. |
BezierControlPoint2 |
Возвращает вторую контрольную точку для кривой Безье. |
Position |
Возвращает конечную точку сегмента. |
Pressure |
Получает давление контакта на поверхность дигитайзера. |
TiltX |
Получает наклон контакта вдоль оси X. |
TiltY |
Получает наклон контакта вдоль оси Y. |
Twist |
Получает поворот контакта вдоль оси вращения. |
Применяется к
См. также раздел
- Взаимодействие с помощью пера
- Начало работы: поддержка рукописного ввода в приложении UWP
- Пример анализа рукописного ввода (базовый) (C#)
- Пример распознавания рукописного ввода (C#)
- Сохранение и загрузка росчерков пера из файла Ink Serialized Format (ISF)
- Сохранение и загрузка росчерков пера из буфера обмена
- Пример расположения и ориентации панели инструментов рукописного ввода (базовый)
- Пример расположения и ориентации панели инструментов рукописного ввода (динамичный)
- Пример раскраски
- Пример семейных заметок
- Ввод: пример упрощенного рукописного ввода
- Простой пример рукописного ввода (C#/C++)
- Пример сложного рукописного ввода (C++)
- Пример анализа рукописного ввода