InkStrokeRenderingSegment 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
전체 잉크 스트로크의 단일 세그먼트입니다.
단일 세그먼트는 시작점, 끝점 및 두 개의 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
- 상속
- 특성
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;
}
설명
입방형 베지어 곡선으로 잉크 스트로크를 렌더링하려면 DrawingAttributes의 FitToCurve 속성을 true로 설정합니다. 그렇지 않으면 스트로크가 직선 세그먼트로 렌더링됩니다.
속성
BezierControlPoint1 |
베지어 곡선의 첫 번째 제어점을 가져옵니다. |
BezierControlPoint2 |
베지어 곡선의 두 번째 제어점을 가져옵니다. |
Position |
세그먼트의 끝점을 가져옵니다. |
Pressure |
디지타이저 표면의 접촉 압력을 가져옵니다. |
TiltX |
x축을 따라 접점의 기울기를 가져옵니다. |
TiltY |
y 축을 따라 접촉의 기울기를 가져옵니다. |
Twist |
회전 축을 따라 접점의 트위스트를 가져옵니다. |