RecognitionResult.GetAlternatesFromSelection (Método)
Actualización: noviembre 2007
Devuelve la colección RecognitionAlternates a partir de la cadena más satisfactoria del objeto RecognitionResult, de modo que cada objeto RecognitionAlternate de la colección se corresponde con un único segmento de la entrada manuscrita. La colección devuelta se limita a 10 elementos.
Espacio de nombres: Microsoft.Ink
Ensamblado: Microsoft.Ink (en Microsoft.Ink.dll)
Sintaxis
'Declaración
Public Function GetAlternatesFromSelection As RecognitionAlternates
'Uso
Dim instance As RecognitionResult
Dim returnValue As RecognitionAlternates
returnValue = instance.GetAlternatesFromSelection()
public RecognitionAlternates GetAlternatesFromSelection()
public:
RecognitionAlternates^ GetAlternatesFromSelection()
public RecognitionAlternates GetAlternatesFromSelection()
public function GetAlternatesFromSelection() : RecognitionAlternates
Valor devuelto
Tipo: Microsoft.Ink.RecognitionAlternates
Devuelve la colección RecognitionAlternates a partir de una selección de la cadena más satisfactoria del objeto RecognitionResult, de modo que cada objeto RecognitionAlternate de la colección se corresponde con un único segmento de la entrada manuscrita.
Comentarios
Es probable que un reconocedor divida "how are you" en tres segmentos (en función del espaciado entre los segmentos), uno por palabra. Llame al método GetAlternatesFromSelection si desea devolver las alternativas para un solo segmento de esta selección.
Tenga en cuenta la diferencia entre el método GetAlternatesFromSelection y los métodos AlternatesWithConstantPropertyValues, LineAlternates y ConfidenceAlternates del objeto RecognitionAlternate. Aunque el método GetAlternatesFromSelection devuelve una colección RecognitionAlternates en la que cada objeto RecognitionAlternate se corresponde con un solo segmento de entrada manuscrita de una selección, los métodos AlternatesWithConstantPropertyValues, LineAlternates y ConfidenceAlternates devuelven la colección RecognitionAlternates, en la que los objetos RecognitionAlternate se corresponden con cada segmento de entrada manuscrita de una selección.
Ejemplos
En este ejemplo, el reconocimiento sincrónico se controla en respuesta a una acción del usuario, como hacer clic en un elemento de menú o en un botón. En primer lugar, la colección Strokes de un objeto RecognizerContext se asigna en la colección Strokes asociada a un objeto InkOverlay y se comprueba el recuento de trazos. Si la colección Strokes contiene al menos un objeto Stroke, el proceso de reconocimiento se inicia con una llamada al método Recognize. Si el reconocimiento es correcto, se obtiene una colección RecognitionAlternates para la primera palabra del resultado del reconocimiento (si se encuentra más de una palabra en la propiedad TopString ) o para el resultado del reconocimiento completo. Por último, los objetos RecognitionAlternates se agregan a un cuadro de lista para mostrarlos.
' 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());
}
}
}
Plataformas
Windows Vista
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0
Vea también
Referencia
GetAlternatesFromSelection (Sobrecarga)