InkStrokeRenderingSegment 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
完整筆墨筆劃的單一線段。
單一區段是由起點、結束點和兩個 Bezier 控制點所組成。 不過,對於組成筆劃的一數列線段,上一個線段的最後一個點是目前線段的第一個點。 這表示只需要每個線段的結束點,才能表示完整的筆劃。
每個筆劃都是 InkStrokeRenderingSegment 物件的向量,其中第一個線段是由單一起點識別,以及結束點和兩個 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
- 繼承
- 屬性
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;
}
備註
如果您想要使用三次方 Bezier 曲線轉譯筆墨筆劃,請將DrawingAttributes的FitToCurve屬性設定為 true。 否則,筆劃會以直線線段呈現。
屬性
BezierControlPoint1 |
取得 Bézier 曲線的第一個控制點。 |
BezierControlPoint2 |
取得 Bézier 曲線的第二個控制點。 |
Position |
取得區段的結束點。 |
Pressure |
取得數位板介面上的接觸壓力。 |
TiltX |
取得沿著 X 軸的接觸傾斜。 |
TiltY |
取得沿著 Y 軸的接觸傾斜。 |
Twist |
取得沿著旋轉軸的接觸點旋轉。 |