Partager via


RecognitionAlternate.ConfidenceAlternates, propriété

Mise à jour : November 2007

Obtient la collection de propositions de substitution dans laquelle la proposition actuelle est divisée en une collection de propositions plus petites.

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

Syntaxe

'Déclaration
Public ReadOnly Property ConfidenceAlternates As RecognitionAlternates
'Utilisation
Dim instance As RecognitionAlternate
Dim value As RecognitionAlternates

value = instance.ConfidenceAlternates
public RecognitionAlternates ConfidenceAlternates { get; }
public:
property RecognitionAlternates^ ConfidenceAlternates {
    RecognitionAlternates^ get ();
}
/** @property */
public RecognitionAlternates get_ConfidenceAlternates()
public function get ConfidenceAlternates () : RecognitionAlternates

Valeur de propriété

Type : Microsoft.Ink.RecognitionAlternates
Collection de propositions de substitution dans laquelle la proposition actuelle est divisée le long des limites de niveau de fiabilité en une collection de propositions.

Notes

La collection de la propriété ConfidenceAlternates est créée lorsqu'une proposition de substitution est divisée en propositions plus petites en fonction des limites dues aux brèches du niveau de fiabilité. Chaque proposition de substitution de la collection se compose de segments de reconnaissance adjacents de même niveau de fiabilité.

Au lieu d'appeler la méthode AlternatesWithConstantPropertyValues, vous pouvez utiliser cette propriété en affectant l'identificateur global unique (GUID), ConfidenceLevel au paramètre g. Pour plus d'informations sur les propriétés des propositions de substitution, consultez l'objet RecognitionProperty.

ms571998.alert_note(fr-fr,VS.90).gifRemarque :

Cette propriété lève une exception si le Recognizer qui a généré le RecognitionAlternate ne prend pas en charge les niveaux de fiabilité.

Parmi les modules de reconnaissance Microsoft®, seuls les modules Reconnaissance d'écriture Microsoft - Anglais (États-Unis) et Reconnaissance de mouvements Microsoft prennent en charge les niveaux de fiabilité. Les modules de reconnaissance tiers ne prennent pas nécessairement en charge les niveaux de confiance.

Exemples

Cet exemple C# définit des gestionnaires d'événements pour un formulaire, ConfidenceAlternatesForm, auquel un contrôle Button (page pouvant être en anglais), theButton, a été ajouté. L'exemple définit également un InkCollector, theInkCollector, un RecognizerContext, theRecognizerContext et un RecognitionResult, theRecognitionResult, utilisés pour collecter l'entrée manuscrite et exécuter la reconnaissance.

Le gestionnaire d'événements pour l'événement de chargement du formulaire crée un collecteur d'entrée manuscrite et obtient un contexte de reconnaissance pour la langue anglaise (États-Unis).

Le gestionnaire d'événements pour l'événement Click du bouton exécute la reconnaissance sur les traits dans le collecteur d'entrée manuscrite, divise les traits le long des limites de fiabilité et colore les traits en fonction de leur niveau de fiabilité.

[C#]

// Declare ink elements and create drawing attributes.
Microsoft.Ink.InkCollector theInkCollector = null;
Microsoft.Ink.RecognizerContext theRecognizerContext = null;
Microsoft.Ink.RecognitionResult theRecognitionResult = null;

Microsoft.Ink.DrawingAttributes theStrongDA =
    new DrawingAttributes(Color.Green);
Microsoft.Ink.DrawingAttributes theIntermediateDA =
    new DrawingAttributes(Color.Goldenrod);
Microsoft.Ink.DrawingAttributes thePoorDA =
    new DrawingAttributes(Color.Red);

// Event handler for the form's Load event.
private void ConfidenceAlternatesForm_Load(object sender, System.EventArgs e)
{
    // Create the ink collector.
    this.theInkCollector = new Microsoft.Ink.InkCollector(this.Handle);
    this.theInkCollector.Enabled = true;

    // Get a recognizer context for the English (US) recognizer.
    foreach (Recognizer theRecognizer in new Recognizers())
    {
        foreach (short lcid in theRecognizer.Languages)
        {
            // 0409 is the LCID for the en-us language.
            if (0x0409 == lcid)
            {
                this.theRecognizerContext = theRecognizer.CreateRecognizerContext();
                break;
            }
        }
        if (null != theRecognizerContext)
        {
            break;
        }
    }
    // Throw an exception if the recognizer is not found.
    if (null == theRecognizerContext)
    {
        throw new ApplicationException("No recognizer found");
    }
}

// Event handler for the button's Click event.
private void theButton_Click(object sender, System.EventArgs e)
{
    // Check for ink before performing recognition.
    if (0 == this.theInkCollector.Ink.Strokes.Count)
    {
        System.Windows.Forms.MessageBox.Show("No ink to recognize.");
        return;
    }

    // Perform recognition on the strokes currently in the ink collector.
    Microsoft.Ink.RecognitionStatus theRecognitionStatus;
    this.theRecognizerContext.Strokes = this.theInkCollector.Ink.Strokes;
    this.theRecognitionResult =
        this.theRecognizerContext.Recognize(out theRecognitionStatus);

    // Check the recognition status.
    if (Microsoft.Ink.RecognitionStatus.NoError != theRecognitionStatus)
    {
        System.Windows.Forms.MessageBox.Show(
            "There was an error recognizing the ink.");
        return;
    }

    // Check for a recognition result.
    if (null == this.theRecognitionResult)
    {
        System.Windows.Forms.MessageBox.Show(
            "No recognition result available.");
        return;
    }

    // Get the confidence alternates collection for the top alternate.
    Microsoft.Ink.RecognitionAlternates theConfidenceAlternates =
        this.theRecognitionResult.TopAlternate.ConfidenceAlternates;

    using (System.Drawing.Graphics g = this.CreateGraphics())
    {
        // Clear the drawing surface
        g.Clear(this.BackColor);

        // For each confidence alternate in the collection:
        foreach(Microsoft.Ink.RecognitionAlternate theAlternate
                    in theConfidenceAlternates)
        {
            // Update the drawing attributes.
            switch (theAlternate.Confidence)
            {
                case Microsoft.Ink.RecognitionConfidence.Strong:
                    theAlternate.Strokes.ModifyDrawingAttributes(
                        theStrongDA);
                    break;
                case Microsoft.Ink.RecognitionConfidence.Intermediate:
                    theAlternate.Strokes.ModifyDrawingAttributes(
                        theIntermediateDA);
                    break;
                case Microsoft.Ink.RecognitionConfidence.Poor:
                    theAlternate.Strokes.ModifyDrawingAttributes(
                        thePoorDA);
                    break;
            }
        }
        // Redraw the ink.
        this.theInkCollector.Renderer.Draw(g, this.theRecognitionResult.Strokes);
    }
}

// Event handler for the form's Closed event.
private void ConfidenceAlternatesForm_Closed(object sender, System.EventArgs e)
{
    // Free the resources for the ink collector, recognizer context, and pens.
    this.theInkCollector.Dispose();
    this.theInkCollector = null;
    this.theRecognizerContext.Dispose();
    this.theRecognizerContext = null;
}

Cet exemple Microsoft Visual Basic® .NET définit des gestionnaires d'événements pour un formulaire, ConfidenceAlternatesForm, auquel un contrôle Button (page pouvant être en anglais), theButton, a été ajouté. L'exemple définit également un InkCollector, theInkCollector, un RecognizerContext, theRecognizerContext et un RecognitionResult, theRecognitionResult, utilisés pour collecter l'entrée manuscrite et exécuter la reconnaissance.

Le gestionnaire d'événements pour l'événement de chargement du formulaire crée un collecteur d'entrée manuscrite et obtient un contexte de reconnaissance pour la langue anglaise (États-Unis).

Le gestionnaire d'événements pour l'événement Click du bouton exécute la reconnaissance sur les traits dans le collecteur d'entrée manuscrite, divise les traits le long des limites de fiabilité et colore les traits en fonction de leur niveau de fiabilité.

[Visual Basic]

' Declare ink elements and create drawing attributes.
Dim theInkCollector As Microsoft.Ink.InkCollector
Dim theRecognizerContext As Microsoft.Ink.RecognizerContext
Dim theRecognitionResult As Microsoft.Ink.RecognitionResult

Dim theStrongDA As Microsoft.Ink.DrawingAttributes = New DrawingAttributes(Color.Green)
Dim theIntermediateDA As Microsoft.Ink.DrawingAttributes = New DrawingAttributes(Color.Goldenrod)
Dim thePoorDA As Microsoft.Ink.DrawingAttributes = New DrawingAttributes(Color.Red)

' Event handler for the form's Load event.
Private Sub ConfidenceAlternatesForm_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load

    ' Create the ink collector.
    Me.theInkCollector = New Microsoft.Ink.InkCollector(Me.Handle)
    Me.theInkCollector.Enabled = True

    ' Get a recognizer context for the English (US) recognizer.
    For Each theRecognizer As Recognizer In New Recognizers
        For Each lcid As Short In theRecognizer.Languages
            ' 0409 is the LCID for the en-us language.
            If &H409 = lcid Then
                Me.theRecognizerContext = theRecognizer.CreateRecognizerContext()
                Exit For
            End If
        Next
        If Not (theRecognizerContext Is Nothing) Then
            Exit For
        End If
    Next
    ' Throw an exception if the recognizer is not found.
    If theRecognizerContext Is Nothing Then
        Throw New ApplicationException("No recognizer found")
    End If
End Sub

' Event handler for the "Recognize" button's Click event.
Private Sub theButton_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles theButton.Click

    ' Check for ink before performing recognition.
    If Me.theInkCollector.Ink.Strokes.Count = 0 Then
        System.Windows.Forms.MessageBox.Show("No ink to recognize.")
        Return
    End If

    ' Perform recognition on the strokes currently in the ink collector.
    Dim theRecognitionStatus As Microsoft.Ink.RecognitionStatus
    Me.theRecognizerContext.Strokes = Me.theInkCollector.Ink.Strokes
    Me.theRecognitionResult = _
        Me.theRecognizerContext.Recognize(theRecognitionStatus)

    ' Check for a recognition result.
    If (Me.theRecognitionResult Is Nothing) Then
        System.Windows.Forms.MessageBox.Show("No recognition result available.")
        Return
    End If

    ' Get the confidence alternates collection for the top alternate.
    Dim theConfidenceAlternates As Microsoft.Ink.RecognitionAlternates = _
        Me.theRecognitionResult.TopAlternate.ConfidenceAlternates

    ' Create a temporary graphics object.
    Dim g As System.Drawing.Graphics = Me.CreateGraphics()

    ' Clear the drawing surface
    g.Clear(Me.BackColor)

    ' For each confidence alternate in the collection:
    For Each theAlternate As Microsoft.Ink.RecognitionAlternate _
                In theConfidenceAlternates

        ' Update the drawing attributes.
        Select Case theAlternate.Confidence
            Case RecognitionConfidence.Strong
                theAlternate.Strokes.ModifyDrawingAttributes(theStrongDA)
            Case RecognitionConfidence.Intermediate
                theAlternate.Strokes.ModifyDrawingAttributes(theIntermediateDA)
            Case RecognitionConfidence.Poor
                theAlternate.Strokes.ModifyDrawingAttributes(thePoorDA)
        End Select
    Next

    ' Redraw the ink.
    Me.theInkCollector.Renderer.Draw(g, Me.theRecognitionResult.Strokes)

    ' Dispose of the graphics object.
    g.Dispose()
End Sub

' Event handler for the form's Closed event.
Private Sub ConfidenceAlternatesForm_Closed(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Closed

    ' Free the resources for the ink collector and recognizer context.
    Me.theInkCollector.Dispose()
    Me.theInkCollector = Nothing
    Me.theRecognizerContext.Dispose()
    Me.theRecognizerContext = Nothing
End Sub

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

RecognitionAlternate, classe

Membres RecognitionAlternate

Microsoft.Ink, espace de noms

RecognitionAlternates

Recognizer

RecognitionAlternate.AlternatesWithConstantPropertyValues

RecognitionAlternate.Confidence

RecognitionAlternate.LineAlternates