InkAnalyzerBase 類別
提供對配置分析、書寫和繪圖分類,以及手寫辨識的存取。
命名空間: System.Windows.Ink.AnalysisCore
組件: IACore (在 IACore.dll 中)
語法
'宣告
Public Class InkAnalyzerBase _
Implements IDisposable
'用途
Dim instance As InkAnalyzerBase
public class InkAnalyzerBase : IDisposable
public ref class InkAnalyzerBase : IDisposable
public class InkAnalyzerBase implements IDisposable
public class InkAnalyzerBase implements IDisposable
備註
InkAnalyzerBase 會使用筆劃封包資料分析筆墨,而且不會與筆墨或筆劃物件直接互動。
警告
為了避免記憶體遺漏 (Memory Leak),對於已附加事件處理常式的任何 InkAnalyzerBase 物件,您必須在物件超出範圍之前明確呼叫 Dispose 方法。
若要在 InkAnalyzerBase 中加入或移除筆劃以便進行分析,請使用 AddStroke、AddStrokes、RemoveStroke 或 RemoveStrokes 方法。這些方法會更新 DirtyRegion 屬性,這個屬性是下一次分析作業中所要分析的筆劃區域。
若要分析筆墨,請使用 Analyze 或 BackgroundAnalyze 方法。分析期間,InkAnalyzerBase 會執行配置分析、筆劃分類及手寫辨識。
分析期間,InkAnalyzerBase 會引發一些事件,其中包括在建立分析器的執行緒上進行背景分析時產生的事件。許多 InkAnalyzerBase 事件都支援 InkAnalyzerBase 的資料 Proxy 功能。如需詳細資訊,請參閱Data Proxy with Ink Analysis。
若要從事件處理常式內部停止分析程序,請呼叫 Abort 方法。
若要修改筆墨分析器用來辨識手寫的語言,請使用 SetStrokeLanguageId 或 SetStrokesLanguageId。若要修改筆墨分析器分類特定筆劃的方式,請使用 SetStrokeType 或 SetStrokesType。
InkAnalyzerBase 會載入所有已安裝的筆墨辨識器。GetInkRecognizersByPriority 方法會傳回 InkRecognizerBaseCollection,其中包含每個可用的 InkRecognizerBase。如果有多個筆墨辨識器支援特定語言,請使用 SetHighestPriorityInkRecognizer(InkRecognizer) 設定處理該語言筆劃的筆墨辨識器。
使用分析提示可以透過提供額外內容給筆墨分析器的方式改善辨識的正確性。額外的內容資訊可以協助筆墨分析器縮小可能的辨識結果數目。例如,您可以透過定義個人小檔案、應該有的字,或是將您的輸入建構為辨識輔助線來縮小範圍。如需提供內容給筆墨分析器的詳細資訊,請參閱
CreateAnalysisHint、DeleteAnalysisHint 和 GetAnalysisHints。
筆墨分析器會以字串或 ContextNodeBase 物件的樹狀目錄表示分析結果。若要存取辨識的字串,請使用 GetRecognizedString。若要存取樹狀根目錄,請使用 RootNode 屬性。筆墨分析器會使用下列方法尋找特定的內容節點或文字。
若要使用其他分析結果,請使用 GetAlternates 和 ModifyTopAlternate。
若要儲存分析結果,請使用 SaveResults。若要載入儲存的結果,請使用 Load。
如需使用 InkAnalyzerBase 分析筆墨的詳細資訊,請參閱Ink Analysis Overview。
範例
這個範例會初始化新的 InkAnalyzerBase (theInkAnalyzerBase)。接著會設定 AnalysisModes 屬性並附加 UpdateStrokesCacheBase 事件處理常式。
' Create the ink analyzer and enable automatic reconciliation and
' automatic stroke cache cleanup, but not intermediate results.
Dim theInkAnalyzerBase As New System.Windows.Ink.AnalysisCore.InkAnalyzerBase()
theInkAnalyzerBase.AnalysisModes = _
System.Windows.Ink.AnalysisCore.AnalysisModes.AutomaticReconciliationEnabled _
Or System.Windows.Ink.AnalysisCore.AnalysisModes.StrokeCacheAutoCleanupEnabled
' Since automatic stroke cache cleanup is enabled, add an event
' handler for the UpdateStrokesCacheBase event.
AddHandler theInkAnalyzerBase.UpdateStrokesCacheBase, _
AddressOf theInkAnalyzerBase_UpdateStrokesCacheBase
// Create the ink analyzer and enable automatic reconciliation and
// automatic stroke cache cleanup, but not intermediate results.
System.Windows.Ink.AnalysisCore.InkAnalyzerBase theInkAnalyzerBase =
new System.Windows.Ink.AnalysisCore.InkAnalyzerBase();
theInkAnalyzerBase.AnalysisModes =
System.Windows.Ink.AnalysisCore.AnalysisModes.AutomaticReconciliationEnabled
| System.Windows.Ink.AnalysisCore.AnalysisModes.StrokeCacheAutoCleanupEnabled;
// Since automatic stroke cache cleanup is enabled, add an event
// handler for the UpdateStrokesCacheBase event.
theInkAnalyzerBase.UpdateStrokesCacheBase +=
new System.Windows.Ink.AnalysisCore.UpdateStrokesCacheBaseEventHandler(
theInkAnalyzerBase_UpdateStrokesCacheBase);
繼承階層架構
System.Object
System.Windows.Ink.AnalysisCore.InkAnalyzerBase
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
平台
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0
請參閱
參考
System.Windows.Ink.AnalysisCore 命名空間
System.Windows.Ink.AnalysisCore.AnalysisAlternateBase
System.Windows.Ink.AnalysisCore.AnalysisStatusBase