Condividi tramite


Classe InkAnalyzerBase

Aggiornamento: novembre 2007

Fornisce l'accesso all'analisi del layout, alla classificazione del disegno e della scrittura e al riconoscimento della grafia.

Spazio dei nomi:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

Sintassi

'Dichiarazione
Public Class InkAnalyzerBase _
    Implements IDisposable
'Utilizzo
Dim instance As InkAnalyzerBase
public class InkAnalyzerBase : IDisposable
public ref class InkAnalyzerBase : IDisposable
public class InkAnalyzerBase implements IDisposable
public class InkAnalyzerBase implements IDisposable

Note

InkAnalyzerBase utilizza dati del pacchetto di tratti per analizzare l'input penna e non interagisce direttamente con oggetti dell'input penna o del tratto.

Avviso

Per evitare una perdita di memoria, è necessario chiamare in modo esplicito il metodo Dispose su un qualsiasi oggetto InkAnalyzerBase a cui è stato associato un gestore dell'evento, prima che l'oggetto esca dall'ambito.

Per aggiungere o rimuovere tratti da InkAnalyzerBase per l'analisi, utilizzare il metodo AddStroke, AddStrokes, RemoveStroke o RemoveStrokes. Questi metodi aggiornano la proprietà DirtyRegion che rappresenta l'area i cui tratti vengono analizzati nella successiva operazione di analisi.

Per analizzare l'input penna, utilizzare il metodo Analyze o BackgroundAnalyze. Durante l'analisi, l'oggetto InkAnalyzerBase esegue l'analisi del layout, la classificazione dei tratti e il riconoscimento della grafia.

Durante di analisi, InkAnalyzerBase genera un numero di eventi, compresi eventi generati durante l'analisi in background sul thread nel quale viene creato l'analizzatore. Molti eventi InkAnalyzerBase supportano le funzionalità del proxy di dati di InkAnalyzerBase. Per ulteriori informazioni, vedere Data Proxy with Ink Analysis.

Per arrestare il processo di analisi da un gestore dell'evento, chiamare il metodo Abort.

Per modificare la lingua utilizzata dall'analizzatore dell'input penna per riconoscere la grafia, utilizzare il metodo SetStrokeLanguageId o SetStrokesLanguageId. Per modificare la modalità utilizzata dall'analizzatore dell'input penna per classificare tratti specifici, utilizzare il metodo SetStrokeType o SetStrokesType.

L'oggetto InkAnalyzerBase carica tutti i sistemi di riconoscimento dell'input penna installati. Il metodo GetInkRecognizersByPriority restituisce un oggetto InkRecognizerBaseCollection contenente tutti gli oggetti InkRecognizerBase disponibili. Se più sistemi di riconoscimento dell'input penna supportano una lingua specifica, utilizzare il metodo SetHighestPriorityInkRecognizer(InkRecognizer) per impostare il sistema di riconoscimento dell'input penna che gestisce i tratti di quella lingua.

L'utilizzo dei suggerimenti di analisi può migliorare l'accuratezza del riconoscimento fornendo un contesto aggiuntivo all'analizzatore dell'input penna. Le informazioni aggiuntive sul contesto possono consentire all'analizzatore dell'input penna di limitare il numero dei possibili risultati del riconoscimento.  Ad esempio, è possibile limitare l'ambito definendo oggetti attivi, parole previste oppure strutturando l'input in una guida di riconoscimento. Per ulteriori informazioni sulla possibilità di fornire contesto all'analizzatore dell'input penna, vedere

CreateAnalysisHint, DeleteAnalysisHint e GetAnalysisHints.

L'analizzatore dell'input penna rappresenta i risultati dell'analisi sotto forma di stringa o di struttura ad albero di oggetti ContextNodeBase. Per accedere alla stringa riconosciuta, utilizzare GetRecognizedString. Per accedere alla radice della struttura ad albero, utilizzare la proprietà RootNode. L'analizzatore dell'input penna dispone dei metodi indicati di seguito per l'individuazione di testo o nodi di contesto specifici.

Per utilizzare risultati di analisi alternativi, utilizzare GetAlternates e ModifyTopAlternate.

Per salvare i risultati dell'analisi, utilizzare SaveResults. Per caricare i risultati salvati, utilizzare Load.

Per ulteriori informazioni sull'utilizzo di InkAnalyzerBase per analizzare l'input penna, vedere Ink Analysis Overview.

Esempi

In questo esempio viene inizializzato un nuovo oggetto InkAnalyzerBase, theInkAnalyzerBase. Viene quindi impostata la proprietà AnalysisModes e viene associato un gestore dell'evento 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);

Gerarchia di ereditarietà

System.Object
  System.Windows.Ink.AnalysisCore.InkAnalyzerBase

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Piattaforme

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

Membri InkAnalyzerBase

Spazio dei nomi System.Windows.Ink.AnalysisCore

System.Windows.Ink.AnalysisCore.AnalysisAlternateBase

System.Windows.Ink.AnalysisCore.AnalysisStatusBase

System.Windows.Ink.AnalysisCore.ContextLinkBase

System.Windows.Ink.AnalysisCore.ContextNodeBase