다음을 통해 공유


InkStrokeRenderingSegment 클래스

정의

전체 잉크 스트로크의 단일 세그먼트입니다.

단일 세그먼트는 시작점, 끝점 및 두 개의 Bezier 제어점으로 구성됩니다. 그러나 스트로크를 구성하는 일련의 세그먼트의 경우 이전 세그먼트의 마지막 지점은 현재 세그먼트의 첫 번째 점입니다. 즉, 전체 스트로크를 나타내려면 각 세그먼트의 끝점만 필요합니다.

각 스트로크는 단일 시작점으로 식별된 첫 번째 세그먼트와 끝점 및 두 개의 Bezier 제어점으로 식별된 나머지 모든 세그먼트가 있는 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
상속
Object Platform::Object IInspectable 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;
}

설명

입방형 베지어 곡선으로 잉크 스트로크를 렌더링하려면 DrawingAttributesFitToCurve 속성을 true로 설정합니다. 그렇지 않으면 스트로크가 직선 세그먼트로 렌더링됩니다.

속성

BezierControlPoint1

베지어 곡선의 첫 번째 제어점을 가져옵니다.

BezierControlPoint2

베지어 곡선의 두 번째 제어점을 가져옵니다.

Position

세그먼트의 끝점을 가져옵니다.

Pressure

디지타이저 표면의 접촉 압력을 가져옵니다.

TiltX

x축을 따라 접점의 기울기를 가져옵니다.

TiltY

y 축을 따라 접촉의 기울기를 가져옵니다.

Twist

회전 축을 따라 접점의 트위스트를 가져옵니다.

적용 대상

추가 정보