RecognitionAlternate.ConfidenceAlternates-Eigenschaft
Ruft die Auflistung von Alternativen ab, wobei die aktuelle Alternative in eine Auflistung kleinerer Alternativen geteilt wird.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public ReadOnly Property ConfidenceAlternates As RecognitionAlternates
'Usage
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
Eigenschaftenwert
Typ: Microsoft.Ink.RecognitionAlternates
Die Auflistung von Alternativen, bei der die aktuelle Alternative entlang der Grenzen der Vertrauensebenen in eine Auflistung von Alternativen geteilt wird.
Hinweise
Die Auflistung in der ConfidenceAlternates-Eigenschaft wird erstellt, wenn eine Alternative auf der Grundlage der Grenzen aufgrund der Trennung der Vertrauensebenen geteilt wird. Jede Alternative in der Auflistung besteht aus einem benachbarten Erkennungssegment mit der gleichen Vertrauensebene.
Diese Eigenschaft ist eine Alternative zum Aufrufen der AlternatesWithConstantPropertyValues-Methode, bei der der g-Parameter auf die GUID (Globally Unique Identifier) ConfidenceLevel festgelegt ist. Weitere Informationen zu den Eigenschaften von Alternativen finden Sie unter RecognitionProperty.
Hinweis
Diese Eigenschaft löst eine Ausnahme aus, wenn der Recognizer, der den RecognitionAlternate generiert hat, keine Vertrauensebenen unterstützt.
Von den Microsoft®-Erkennungsmodulen unterstützen nur die Microsoft-Handschrifterkennung für Englisch (USA) und die Microsoft-Stiftbewegungserkennung Vertrauensebenen. Erkennungsmodule von Drittanbietern unterstützen Vertrauensebenen nicht in jedem Fall.
Beispiele
In diesem C#-Beispiel werden Ereignishandler für das Formular ConfidenceAlternatesForm definiert, dem das Button-Steuerelement theButton hinzugefügt wurde. Im Beispiel werden außerdem ein InkCollector mit dem Namen theInkCollector, ein RecognizerContext mit dem Namen theRecognizerContext und ein RecognitionResult mit dem Namen theRecognitionResult definiert, mit denen Freihandeingaben erfasst und Erkennungsaufgaben durchgeführt werden.
Der Ereignishandler für das Load-Ereignis des Formulars erstellt ein Freihanderfassungsmodul und ruft einen Erkennungskontext für amerikanisches Englisch ab.
Der Ereignishandler für das Click-Ereignis der Taste führt die Erkennung der Striche im Freihanderfassungsmodul durch, teilt die Striche an den Zuverlässigkeitsgrenzen und weist den Strichen entsprechend ihrer Zuverlässigkeitsebene Farben zu.
[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;
}
In diesem Microsoft® Visual Basic® .NET-Beispiel werden Ereignishandler für das Formular ConfidenceAlternatesForm definiert, dem das Button-Steuerelement theButton hinzugefügt wurde. Im Beispiel werden außerdem ein InkCollector mit dem Namen theInkCollector, ein RecognizerContext mit dem Namen theRecognizerContext und ein RecognitionResult mit dem Namen theRecognitionResult definiert, mit denen Freihandeingaben erfasst und Erkennungsaufgaben durchgeführt werden.
Der Ereignishandler für das Load-Ereignis des Formulars erstellt ein Freihanderfassungsmodul und ruft einen Erkennungskontext für amerikanisches Englisch ab.
Der Ereignishandler für das Click-Ereignis der Taste führt die Erkennung der Striche im Freihanderfassungsmodul durch, teilt die Striche an den Zuverlässigkeitsgrenzen und weist den Strichen entsprechend ihrer Zuverlässigkeitsebene Farben zu.
[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
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0
Siehe auch
Referenz
RecognitionAlternate.AlternatesWithConstantPropertyValues