Bagikan melalui


GestureRecognizer.Recognize(StrokeCollection) Metode

Definisi

Mencari gerakan dalam yang ditentukan StrokeCollection.

public:
 System::Collections::ObjectModel::ReadOnlyCollection<System::Windows::Ink::GestureRecognitionResult ^> ^ Recognize(System::Windows::Ink::StrokeCollection ^ strokes);
[System.Security.SecurityCritical]
public System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult> Recognize(System.Windows.Ink.StrokeCollection strokes);
public System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult> Recognize(System.Windows.Ink.StrokeCollection strokes);
[<System.Security.SecurityCritical>]
member this.Recognize : System.Windows.Ink.StrokeCollection -> System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult>
member this.Recognize : System.Windows.Ink.StrokeCollection -> System.Collections.ObjectModel.ReadOnlyCollection<System.Windows.Ink.GestureRecognitionResult>
Public Function Recognize (strokes As StrokeCollection) As ReadOnlyCollection(Of GestureRecognitionResult)

Parameter

strokes
StrokeCollection

Untuk StrokeCollection mencari gerakan.

Mengembalikan

Array jenis GestureRecognitionResult yang berisi gerakan aplikasi yang GestureRecognizer dikenali.

Atribut

Contoh

Contoh berikut menunjukkan cara menentukan apakah itu StrokeScratchOut gerakan.

private bool InterpretScratchoutGesture(Stroke stroke)
{
    // Attempt to instantiate a recognizer for scratchout gestures.
    ApplicationGesture[] gestures = { ApplicationGesture.ScratchOut };
    GestureRecognizer recognizer = new GestureRecognizer(gestures);

    if (!recognizer.IsRecognizerAvailable)
        return false;

    // Determine if the stroke was a scratchout gesture.
    StrokeCollection gestureStrokes = new StrokeCollection();
    gestureStrokes.Add(stroke);

    ReadOnlyCollection<GestureRecognitionResult> results = recognizer.Recognize(gestureStrokes);

    if (results.Count == 0)
        return false;

    // Results are returned sorted in order strongest-to-weakest; 
    // we need only analyze the first (strongest) result.
    if (results[0].ApplicationGesture == ApplicationGesture.ScratchOut &&
          results[0].RecognitionConfidence == RecognitionConfidence.Strong)
    {
        // Use the scratchout stroke to perform hit-testing and 
        // erase existing strokes, as necessary.
        return true;
    }
    else
    {
        // Not a gesture: display the stroke normally.
        return false;
    }
}
Private Function InterpretScratchoutGesture(ByVal stroke As Stroke) As Boolean
    ' Attempt to instantiate a recognizer for scratchout gestures.
    Dim gestures() As ApplicationGesture = {ApplicationGesture.ScratchOut}

    Dim recognizer As New GestureRecognizer(gestures)

    If Not recognizer.IsRecognizerAvailable Then
        Return False
    End If

    ' Determine if the stroke was a scratchout gesture.
    Dim gestureStrokes As StrokeCollection = New StrokeCollection()
    gestureStrokes.Add(stroke)

    Dim results As ReadOnlyCollection(Of GestureRecognitionResult)
    results = recognizer.Recognize(gestureStrokes)

    If results.Count = 0 Then
        Return False
    End If

    ' Results are returned sorted in order strongest-to-weakest; 
    ' we need only analyze the first (strongest) result.
    If (results(0).ApplicationGesture = ApplicationGesture.ScratchOut) Then

        ' Use the scratchout stroke to perform hit-testing and 
        ' erase existing strokes, as necessary.
        Return True
    Else
        ' Not a gesture: display the stroke normally.
        Return False
    End If
End Function

Keterangan

Array yang dikembalikan oleh Recognize metode diurutkan menurut GestureRecognitionResult.RecognitionConfidence properti . Misalnya, Recognize dapat mengembalikan GestureRecognitionResult array dengan nilai berikut:

Indeks ApplicationGesture RecognitionConfidence
0 Check Strong
1 NoGesture Intermediate
2 Curlicue Poor
3 DoubleCurlicue Poor

Ini berarti bahwa GestureRecognizer mengenali bahwa sangat mungkin bahwa Stroke adalah tanda centang, relatif mungkin bahwa Stroke dalam bukan gerakan, dan tidak sama sekali kemungkinan bahwa Stroke adalah curlicue atau curlicue ganda.

Nota

Metode ini Recognize dapat mengembalikan array dengan NoGesture gerakan yang lebih tinggi RecognitionConfidence dari aplikasi lainnya. Ini berarti bahwa lebih mungkin bahwa Stroke itu bukan gerakan, dibandingkan dengan gerakan yang memiliki lebih rendah RecognitionConfidence.

Berlaku untuk