RecognitionResult.GetAlternatesFromSelection (Método) (Int32, Int32)
Actualización: noviembre 2007
Devuelve la colección RecognitionAlternates a partir de un intervalo 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 ( _
selectionStart As Integer, _
selectionLength As Integer _
) As RecognitionAlternates
'Uso
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
Parámetros
- selectionStart
Tipo: System.Int32
Comienzo de la selección de texto desde la que se devuelve la colección RecognitionAlternates. El valor predeterminado es 0 (cero).
- selectionLength
Tipo: System.Int32
Longitud de la selección de texto desde la que se devuelve la colección RecognitionAlternates. El valor predeterminado es –1, que especifica el texto que empieza al principio de la selección hasta el final de la cadena.
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)