RecognitionAlternate.ConfidenceAlternates 屬性
取得替代項目的集合,其中目前替代項目已分割成較小替代項目的集合。
命名空間: Microsoft.Ink
組件: Microsoft.Ink (在 Microsoft.Ink.dll 中)
語法
'宣告
Public ReadOnly Property ConfidenceAlternates As RecognitionAlternates
'用途
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
屬性值
型別:Microsoft.Ink.RecognitionAlternates
替代項目的集合,其中目前替代項目已沿著信賴等級界限分割成替代項目的集合。
備註
當替代項目因為信賴等級分隔而根據現有界限分割成較小替代項目時,便會建立 ConfidenceAlternates 屬性中的集合。該集合內的每個替代項目都是由具備相同信賴等級的相鄰辨識區段組成。
除了選擇透過將 g 參數設定為 ConfidenceLevel 全域唯一識別項 (GUID) 來呼叫 AlternatesWithConstantPropertyValues 方法以外,您也可以選擇使用這個屬性。如需替代項目屬性的詳細資訊,請參閱 RecognitionProperty 物件。
注意事項: |
---|
如果產生 RecognitionAlternate 的 Recognizer 不支援信賴等級,則這個屬性會擲回例外狀況。 |
在 Microsoft® 辨識器中,只有 Microsoft 英文 (美國) 手寫辨識器和 Microsoft 筆勢辨識器支援信賴等級。協力廠商辨識器不一定支援信賴等級。
範例
這個 C# 範例會為 ConfidenceAlternatesForm 表單定義事件處理常式,而此表單中已經加入一個 Button (英文) 控制項 (變數名稱為 theButton)。這個範例還會定義 InkCollector (變數名稱為 theInkCollector)、RecognizerContext (變數名稱為 theRecognizerContext) 和 RecognitionResult (變數名稱為 theRecognitionResult),用來收集筆墨並執行辨識。
此表單的 Load 事件的事件處理常式會建立筆墨收集器,並取得適用於英文 (美國) 語言的辨識器內容。
按鈕點選事件的事件處理常式會在筆墨收集器中的筆劃上進行辨識,沿著信賴界限分割筆劃,並且根據信賴等級為筆劃上色。
[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;
}
這個 Microsoft Visual Basic® .NET 範例會為 ConfidenceAlternatesForm 表單定義事件處理常式,而此表單中已經加入一個 Button (英文) 控制項 (變數名稱為 theButton)。這個範例還會定義 InkCollector (變數名稱為 theInkCollector)、RecognizerContext (變數名稱為 theRecognizerContext) 和 RecognitionResult (變數名稱為 theRecognitionResult),用來收集筆墨並執行辨識。
此表單的 Load 事件的事件處理常式會建立筆墨收集器,並取得適用於英文 (美國) 語言的辨識器內容。
按鈕點選事件的事件處理常式會在筆墨收集器中的筆劃上進行辨識,沿著信賴界限分割筆劃,並且根據信賴等級為筆劃上色。
[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
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0
請參閱
參考
RecognitionAlternate.AlternatesWithConstantPropertyValues