Compartir a través de


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

RecognitionResult (Clase)

RecognitionResult (Miembros)

GetAlternatesFromSelection (Sobrecarga)

Microsoft.Ink (Espacio de nombres)

GetAlternatesFromSelection

RecognitionAlternates