RecognitionResult.GetAlternatesFromSelection, méthode (Int32, Int32)
Mise à jour : November 2007
Retourne la collection RecognitionAlternates à partir d'une plage dans la meilleure chaîne résultante de l'objet RecognitionResult, afin que chaque objet RecognitionAlternate de la collection ne corresponde qu'à un seul segment d'entrée manuscrite. La collection retournée est limitée à 10 éléments.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink (dans Microsoft.Ink.dll)
Syntaxe
'Déclaration
Public Function GetAlternatesFromSelection ( _
selectionStart As Integer, _
selectionLength As Integer _
) As RecognitionAlternates
'Utilisation
Dim instance As RecognitionResult
Dim selectionStart As Integer
Dim selectionLength As Integer
Dim returnValue As RecognitionAlternates
returnValue = instance.GetAlternatesFromSelection(selectionStart, _
selectionLength)
public RecognitionAlternates GetAlternatesFromSelection(
int selectionStart,
int selectionLength
)
public:
RecognitionAlternates^ GetAlternatesFromSelection(
int selectionStart,
int selectionLength
)
public RecognitionAlternates GetAlternatesFromSelection(
int selectionStart,
int selectionLength
)
public function GetAlternatesFromSelection(
selectionStart : int,
selectionLength : int
) : RecognitionAlternates
Paramètres
- selectionStart
Type : System.Int32
Démarrage de la sélection de texte à partir de laquelle la collection RecognitionAlternates est retournée. La valeur par défaut est 0 (zéro).
- selectionLength
Type : System.Int32
Longueur de la sélection de texte à partir de laquelle la collection RecognitionAlternates est retournée. La valeur par défaut est -1. Elle spécifie le début du texte, du démarrage de la sélection à la fin de la chaîne.
Valeur de retour
Type : Microsoft.Ink.RecognitionAlternates
Retourne la collection RecognitionAlternates à partir d'une sélection dans la meilleure chaîne résultante de l'objet RecognitionResult, afin que chaque objet RecognitionAlternate de la collection ne corresponde qu'à un seul segment d'entrée manuscrite.
Notes
Un module de reconnaissance peut diviser « comment ça va » en trois segments, un pour chaque mot, en fonction de l'espacement entre les segments. Appelez la méthode GetAlternatesFromSelection pour retourner les propositions de substitution d'un seul segment de cette sélection.
Notez la différence entre la méthode GetAlternatesFromSelection, la méthode AlternatesWithConstantPropertyValues, LineAlternateset les méthodes ConfidenceAlternates de l'objet RecognitionAlternate. Bien que la méthode GetAlternatesFromSelection retourne une collection RecognitionAlternates dans laquelle chaque objet RecognitionAlternate correspond à un seul segment d'entrée manuscrite dans une sélection, les méthodes AlternatesWithConstantPropertyValues, LineAlternateset ConfidenceAlternates retournent la collection RecognitionAlternates dans laquelle les objets RecognitionAlternate correspondent à chaque segment d'entrée manuscrite dans une sélection.
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, une collection RecognitionAlternates est obtenue pour le premier mot du résultat de reconnaissance (si plusieurs mots sont trouvés dans la propriété TopString) ou pour tout le résultat de reconnaissance. Pour afficher les RecognitionAlternates, il faut les ajouter à 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)
' check status
If RecognitionStatus.NoError = status Then
Dim rAlts As RecognitionAlternates
' find the index of the first space in the top string
Dim idxOfSpace As Integer = rResult.TopString.IndexOf(" ")
If idxOfSpace <> -1 Then
' if we have a space (i.e. more than one word)
' get the alternates of the first segment (the first word)
rAlts = rResult.GetAlternatesFromSelection(0, idxOfSpace)
Else
' otherwise, get the alternates for the entire recognition result
rAlts = rResult.GetAlternatesFromSelection()
' Note: if (idxOfSpace <> -1) .. for illustrative purposes
' Could have uncondionally used:
' rAlts = rResult.GetAlternatesFromSelection(0, idxOfSpace)
' because:
' GetAlternatesFromSelection(0, -1)
' is the same as:
' GetAlternatesFromSelection()
End If
' display the alternates
For Each RA As RecognitionAlternate In rAlts
listBoxRecognitionResults.Items.Add(RA.ToString())
Next
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);
// check status
if (RecognitionStatus.NoError == status)
{
RecognitionAlternates rAlts;
// find the index of the first space in the top string
int idxOfSpace = rResult.TopString.IndexOf(" ");
if (idxOfSpace != -1)
{
// if we have a space (i.e. more than one word)
// get the alternates of the first segment (the first word)
rAlts = rResult.GetAlternatesFromSelection(0, idxOfSpace);
}
else
{
// otherwise, get the alternates for the entire recognition result
rAlts = rResult.GetAlternatesFromSelection();
// Note: if (idxOfSpace != -1) .. for illustrative purposes
// Could have uncondionally used:
// rAlts = rResult.GetAlternatesFromSelection(0, idxOfSpace);
// because:
// GetAlternatesFromSelection(0, -1)
// is the same as:
// GetAlternatesFromSelection()
}
// display the alternates
foreach (RecognitionAlternate RA in rAlts)
{
listBoxRecognitionResults.Items.Add(RA.ToString());
}
}
}
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