Share via


RecognitionResult.Strokes Property

Gets the Strokes collection that was used by the recognizer to generate the RecognitionResult object.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public ReadOnly Property Strokes As Strokes
'Usage
Dim instance As RecognitionResult 
Dim value As Strokes 

value = instance.Strokes
public Strokes Strokes { get; }
public:
property Strokes^ Strokes {
    Strokes^ get ();
}
public function get Strokes () : Strokes

Property Value

Type: Microsoft.Ink.Strokes
The Strokes collection that was used by the recognizer to generate the RecognitionResult object.

Remarks

By default, the RecognitionResult object is not attached to a Strokes collection. To assign results to a Strokes collection, you must call the SetResultOnStrokes method of the RecognitionResult object.

Examples

In this example, synchronous recognition is handled in response to a user action such as clicking on a menu item or a button. First, the Strokes collection of a RecognizerContext object is assigned from the Strokes collection associated with an InkOverlay object, and checked for stroke count. If the Strokes collection contains at least one Stroke object, the recognition process begins with a call to the Recognize method. If recognition is successful and the TopConfidence (if supported) does not equal RecognitionConfidencePoor (i.e. it is Intermediate or Strong), the TopString is displayed by adding it to a list box.

' assign strokes collection from the collected strokes 
Me.mRecognizerContext.Strokes = Me.mInkOverlay.Ink.Strokes
' check stroke count. Recognize() will throw exception if no strokes 
If (Me.mRecognizerContext.Strokes.Count > 0) Then 
    Dim status As RecognitionStatus
    ' perform the recognition 
    Dim rResult As RecognitionResult = Me.mRecognizerContext.Recognize(status)
    ' see if the recognizer used supports confidence levels 
    Dim rSupportsConfidence As Boolean = RecognizerSupportsConfidence(mRecognizerContext.Recognizer)
    ' check status and TopConfidence (if supported) 
    If (RecognitionStatus.NoError = status And _
        ((rSupportsConfidence And _
         rResult.TopConfidence <> RecognitionConfidence.Poor) Or _
         Not rSupportsConfidence)) Then
        listBoxRecognitionResults.Items.Add(rResult.TopString)
    End If 
End If
// assign strokes collection from the collected strokes 
this.mRecognizerContext.Strokes = this.mInkOverlay.Ink.Strokes;
// check stroke count. Recognize() will throw exception if no strokes 
if (this.mRecognizerContext.Strokes.Count > 0)
{
    RecognitionStatus status;
    // perform the recognition
    RecognitionResult rResult = this.mRecognizerContext.Recognize(out status);
    // see if the recognizer used supports confidence levels 
    bool rSupportsConfidence = RecognizerSupportsConfidence(mRecognizerContext.Recognizer);
    // check status and TopConfidence (if supported) 
    if (RecognitionStatus.NoError == status &&
        ((rSupportsConfidence &&
         rResult.TopConfidence != RecognitionConfidence.Poor) ||
         !rSupportsConfidence))
    {
        listBoxRecognitionResults.Items.Add(rResult.TopString);
    }
}

The following example shows the helper method used to determine if the Recognizer supports confidence levels.

Private Function RecognizerSupportsConfidence(ByVal pRecognizer As Recognizer) As Boolean 
    For Each G As Guid In pRecognizer.SupportedProperties
        If G = RecognitionProperty.ConfidenceLevel Then 
            Return True 
        End If 
    Next 
    Return False 
End Function
private bool RecognizerSupportsConfidence(Recognizer pRecognizer)
{
    foreach (Guid G in pRecognizer.SupportedProperties)
    {
        if (G == RecognitionProperty.ConfidenceLevel)
        {
            return true;
        }
    }
    return false;
}

Platforms

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

RecognitionResult Class

RecognitionResult Members

Microsoft.Ink Namespace

Strokes