Partager via


RecognitionResult.Strokes, propriété

Mise à jour : November 2007

Obtient la collection Strokes utilisée par le module de reconnaissance pour générer l'objet RecognitionResult.

Espace de noms :  Microsoft.Ink
Assembly :  Microsoft.Ink (dans Microsoft.Ink.dll)

Syntaxe

'Déclaration
Public ReadOnly Property Strokes As Strokes
'Utilisation
Dim instance As RecognitionResult
Dim value As Strokes

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

Valeur de propriété

Type : Microsoft.Ink.Strokes
Collection Strokes utilisée par le module de reconnaissance pour générer l'objet RecognitionResult.

Notes

Par défaut, l'objet RecognitionResult n'est pas attaché à une collection Strokes. Pour assigner les résultats à une collection Strokes, vous devez appeler la méthode SetResultOnStrokes de l'objet RecognitionResult.

Exemples

Dans cet exemple, la reconnaissance synchrone est gérée en réponse à une action utilisateur telle qu'un clic sur un élément de menu ou un bouton. Tout d'abord, la collection Strokes d'un objet RecognizerContext est assignée à partir de la collection Strokes associée à un objet InkOverlay, puis son compte de traits est contrôlé. Si la collection Strokes contient au moins un objet Stroke, le processus de reconnaissance commence par appeler la méthode Recognize. Si la reconnaissance réussit et que la propriété TopConfidence (si elle est prise en charge) n'est pas égale à RecognitionConfidencePoor (elle est donc égale à Intermediate ou à Strong), la propriété TopString est affichée via l'ajout à une zone de liste.

' 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);
    }
}

L'exemple suivant présente la méthode d'assistance utilisée pour déterminer si le Recognizer prend en charge les niveaux de fiabilité.

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;
}

Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

RecognitionResult, classe

Membres RecognitionResult

Microsoft.Ink, espace de noms

Strokes