Condividi tramite


Classe InkAnalyzer

Aggiornamento: novembre 2007

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

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Sintassi

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

Note

Per rimuovere o aggiungere tratti all'oggetto InkAnalyzer per l'analisi, utilizzare i metodi AddStroke, AddStrokes, InkAnalyzer.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 InkAnalyzer esegue l'analisi del layout, la classificazione dei tratti e il riconoscimento della grafia.

Durante l'analisi, l'oggetto InkAnalyzer genera un numero di eventi. Impostare la proprietà SynchronizingObject per specificare il thread in cui l'oggetto InkAnalyzer genera gli eventi che vengono generati durante l'analisi in background. Molti eventi InkAnalyzer supportano le funzionalità del proxy di dati di InkAnalyzer. Per ulteriori informazioni, vedere Data Proxy with Ink Analysis.

Per arrestare il processo di analisi da un gestore eventi, chiamare il metodo Abort.

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

L'oggetto InkAnalyzer carica tutti i sistemi di riconoscimento dell'input penna installati. Il metodo GetInkRecognizersByPriority ottiene un oggetto InkRecognizerCollection contenente tutti gli oggetti InkRecognizer disponibili. Se più sistemi di riconoscimento dell'input penna supportano una lingua specifica, utilizzare il metodo SetAsHighestPriorityInkRecognizer per impostare il sistema di riconoscimento dell'input penna che gestisce i tratti di quella lingua.

Per informazioni su come specificare il contesto per l'operazione di analisi 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 ContextNode. 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 dell'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 InkAnalyzer per analizzare l'input penna, vedere Ink Analysis Overview.

È necessario chiamare in modo esplicito il metodo Dispose su qualsiasi oggetto InkAnalyzer a cui è stato associato un gestore eventi, prima che l'oggetto esca dall'ambito.

Esempi

In questo esempio vengono eseguite le operazioni seguenti.

  • Viene inizializzato un nuovo oggetto Microsoft.Ink.Ink, theInk.

  • Viene associato un gestore eventi Ink.InkAdded, theInk_InkAdded, all'oggetto theInk.

  • Viene inizializzato un nuovo oggetto InkAnalyzer, theInkAnalyzer, che può analizzare i dati del tratto di theInk.

' Create the Ink for use with the InkCollector and attach
' event handlers.
Me.theInk = New Microsoft.Ink.Ink()
AddHandler Me.theInk.InkAdded, AddressOf theInk_InkAdded

' Create the InkAnalyzer.
Me.theInkAnalyzer = New Microsoft.Ink.InkAnalyzer(Me.theInk, Me)
// Create the Ink for use with the InkCollector and attach
// event handlers.
this.theInk = new Microsoft.Ink.Ink();
this.theInk.InkAdded +=
    new Microsoft.Ink.StrokesEventHandler(theInk_InkAdded);

// Create the InkAnalyzer.
this.theInkAnalyzer =
    new Microsoft.Ink.InkAnalyzer(this.theInk, this);

In questo esempio, il gestore eventi theInk_InkAdded utilizza i tratti che sono stati aggiunti all'oggetto theInk e li aggiunge all'oggetto theInkAnalyzer.

''' <summary>
''' The ink's InkAdded event handler.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Sub theInk_InkAdded( _
    ByVal sender As Object, ByVal e As Microsoft.Ink.StrokesEventArgs)

    ' This event handler is attached to an Ink object.
    Dim theInk As Microsoft.Ink.Ink = DirectCast(sender, Microsoft.Ink.Ink)

    ' Add the new strokes to the InkAnalyzer.
    Me.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds))

End Sub 'theInk_InkAdded
/// <summary>
/// The ink's InkAdded event handler.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
void theInk_InkAdded(object sender, Microsoft.Ink.StrokesEventArgs e)
{
    // This event handler is attached to an Ink object.
    Microsoft.Ink.Ink theInk = sender as Microsoft.Ink.Ink;

    // Add the new strokes to the InkAnalyzer.
    this.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds));
}

Gerarchia di ereditarietà

System.Object
  Microsoft.Ink.InkAnalyzer

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

.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 InkAnalyzer

Spazio dei nomi Microsoft.Ink

Microsoft.Ink.AnalysisAlternate

Microsoft.Ink.AnalysisHintNode

Microsoft.Ink.AnalysisStatus

Microsoft.Ink.ContextLink

Microsoft.Ink.ContextNode