Bagikan melalui


InkStrokeRenderingSegment Kelas

Definisi

Satu segmen stroke tinta lengkap.

Satu segmen terdiri dari titik awal, titik akhir, dan dua titik kontrol Bezier. Namun, untuk serangkaian segmen yang membentuk stroke, titik terakhir dari segmen sebelumnya adalah titik pertama dari segmen saat ini. Ini berarti bahwa hanya titik akhir untuk setiap segmen yang diperlukan untuk mewakili stroke lengkap.

Setiap stroke adalah vektor objek InkStrokeRenderingSegment dengan segmen pertama yang diidentifikasi oleh satu titik awal dan semua segmen yang tersisa diidentifikasi oleh titik akhir dan dua titik kontrol 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
Warisan
Object Platform::Object IInspectable InkStrokeRenderingSegment
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Fungsi dalam contoh berikut menunjukkan bagaimana kurva Bezier kubik dapat diturunkan untuk setiap segmen goresan 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;
}

Keterangan

Atur properti FitToCurve dari DrawingAttributes ke true jika Anda ingin goresan tinta dirender dengan kurva Cubic Bezier. Jika tidak, stroke dirender dengan segmen garis lurus.

Properti

BezierControlPoint1

Mendapatkan titik kontrol pertama untuk kurva Bézier.

BezierControlPoint2

Mendapatkan titik kontrol kedua untuk kurva Bézier.

Position

Mendapatkan titik akhir segmen.

Pressure

Mendapatkan tekanan kontak pada permukaan digitizer.

TiltX

Mendapatkan kepik kontak di sepanjang sumbu x.

TiltY

Mendapatkan kepik kontak di sepanjang sumbu y.

Twist

Mendapatkan twist kontak di sepanjang sumbu rotasi.

Berlaku untuk

Lihat juga