Freigeben über


InkAnalyzer-Klasse

Stellt den Zugriff auf die Layoutanalyse, die Schrift- und Zeichnungsklassifizierung und die Handschrifterkennung bereit.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Syntax

'Declaration
Public Class InkAnalyzer _
    Implements IDisposable
'Usage
Dim instance As InkAnalyzer
public class InkAnalyzer : IDisposable
public ref class InkAnalyzer : IDisposable
public class InkAnalyzer implements IDisposable
public class InkAnalyzer implements IDisposable

Hinweise

Verwenden Sie zum Hinzufügen oder Entfernen von Strichen zu InkAnalyzer für die Analyse die AddStroke, AddStrokes, InkAnalyzer.RemoveStroke-Methode oder die RemoveStrokes-Methode. Diese Methoden aktualisieren die DirtyRegion-Eigenschaft, die den Bereich darstellt, für den Striche im nächsten Analysevorgang analysiert werden.

Verwenden Sie zur Analyse von Freihandeingaben die Analyze-Methode oder die BackgroundAnalyze-Methode. Während der Analyse führt InkAnalyzer die Layoutanalyse, die Strichklassifizierung und die Handschrifterkennung aus.

Während der Analyse löst InkAnalyzer eine Anzahl von Ereignissen aus. Legen Sie die SynchronizingObject-Eigenschaft fest, um den Thread anzugeben, für den InkAnalyzer Ereignisse auslöst, die während der Hintergrundanalyse generiert werden. Viele InkAnalyzer-Ereignisse unterstützen die Datenproxyfeatures von InkAnalyzer. Weitere Informationen finden Sie unter Data Proxy with Ink Analysis.

Rufen Sie die Abort-Methode auf, um den Analyseprozess aus einem Ereignishandler heraus zu beenden.

Verwenden Sie InkAnalyzer.SetStrokeLanguageId oder InkAnalyzer.SetStrokesLanguageId, um die Sprache zu ändern, die das Freihandanalysemodul verwendet, um Handschrift zu erkennen. Verwenden Sie InkAnalyzer.SetStrokeType oder InkAnalyzer.SetStrokesType, um zu ändern, wie das Freihandanalysemodul bestimmte Striche klassifiziert.

InkAnalyzer lädt alle installierten Freihanderkennungsmodule. Die GetInkRecognizersByPriority-Methode ruft eine InkRecognizerCollection ab, die alle verfügbaren InkRecognizer enthält. Verwenden Sie SetAsHighestPriorityInkRecognizer, um festzulegen, welches Freihanderkennungsmodul Striche dieser Sprache verarbeitet, sofern eine bestimmte Sprache von mehr als einem Freihanderkennungsmodul unterstützt wird.

Informationen über die Bereitstellung von Kontext für Freihandmodulvorgänge finden Sie unter CreateAnalysisHint, DeleteAnalysisHint und GetAnalysisHints.

Das Freihandanalysemodul stellt Analyseergebnisse als Zeichenfolge oder eine Struktur aus ContextNode-Objekten dar. Verwenden Sie GetRecognizedString, um auf die erkannte Zeichenfolge zuzugreifen Verwenden Sie die RootNode-Eigenschaft, um auf den Stamm der Struktur zuzugreifen. Das Freihandanalysemodul verfügt über die folgenden Methoden zum Suchen von bestimmten Kontextknoten oder bestimmtem Text.

Verwenden Sie GetAlternates und ModifyTopAlternate, um mit alternativen Analyseergebnissen zu arbeiten.

Verwenden Sie SaveResults, um Analyseergebnisse zu speichern. Verwenden Sie zum Laden gespeicherter Ergebnisse Load.

Weitere Informationen zum Verwenden von InkAnalyzer für die Analyse von Freihandeingaben finden Sie unter Ink Analysis Overview.

Sie müssen die Dispose-Methode explizit für jedes InkAnalyzer-Objekt aufrufen, an das ein Ereignishandler angefügt wurde, bevor das Objekt den Gültigkeitsbereich verlässt.

Beispiele

In diesem Beispiel wird Folgendes ausgeführt.

  • Initialisiert ein neues Microsoft.Ink.Ink-Objekt namens theInk.

  • Fügt einen Ink.InkAdded-Ereignishandler namens theInk_InkAdded an theInk an.

  • Initialisiert einen neuen InkAnalyzer, theInkAnalyzer, der Strichdaten aus theInk analysieren kann.

' 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 diesem Beispiel akzeptiert der theInk_InkAdded-Ereignishandler dann die Striche, die theInk hinzugefügt wurden, und fügt sie theInkAnalyzer hinzu.

''' <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));
}

Vererbungshierarchie

System.Object
  Microsoft.Ink.InkAnalyzer

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

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

InkAnalyzer-Member

Microsoft.Ink-Namespace

Microsoft.Ink.AnalysisAlternate

Microsoft.Ink.AnalysisHintNode

Microsoft.Ink.AnalysisStatus

Microsoft.Ink.ContextLink

Microsoft.Ink.ContextNode