Freigeben über


InkAnalyzerBase-Klasse

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

Namespace:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

Syntax

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

Hinweise

InkAnalyzerBase verwendet Strichpaketdaten, um Freihandeingaben zu analysieren, und interagiert nicht direkt mit Freihandeingaben oder Strichobjekten.

Warnung

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

Verwenden Sie zum Hinzufügen oder Entfernen von Strichen aus InkAnalyzerBase für die Analyse die Methode AddStroke, AddStrokes, RemoveStroke oder RemoveStrokes. 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 InkAnalyzerBase die Layoutanalyse, die Strichklassifizierung und die Handschrifterkennung aus.

Während der Analyse löst InkAnalyzerBase eine Reihe von Ereignissen aus. Dazu gehören Ereignisse, die während der Hintergrundanalyse auf dem Thread generiert wurden, auf dem das Analysemodul erstellt wurde. Viele InkAnalyzerBase-Ereignisse unterstützen die Datenproxyfeatures von InkAnalyzerBase. 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 SetStrokeLanguageId oder SetStrokesLanguageId, um die Sprache zu ändern, die das Freihandanalysemodul verwendet, um Handschrift zu erkennen. Verwenden Sie SetStrokeType oder SetStrokesType, um zu ändern, wie das Freihandanalysemodul bestimmte Striche klassifiziert.

InkAnalyzerBase lädt alle installierten Freihanderkennungsmodule. Die GetInkRecognizersByPriority-Methode gibt eine InkRecognizerBaseCollection zurück, die alle verfügbaren InkRecognizerBase-Objekte enthält. Verwenden Sie SetHighestPriorityInkRecognizer(InkRecognizer), um festzulegen, welches Freihanderkennungsmodul Striche dieser Sprache verarbeitet, sofern eine bestimmte Sprache von mehr als einem Freihanderkennungsmodul unterstützt wird.

Mit Analysehinweisen kann die Erkennungsgenauigkeit verbessert werden, indem dem Freihandanalysemodul zusätzlicher Kontext bereitgestellt wird. Durch diese zusätzlichen Kontextinformationen kann das Freihandanalysemodul die Anzahl der möglichen Erkennungsergebnisse einschränken.  So können Sie die Ergebnisse eingrenzen, wenn Sie beispielsweise Faktoide und erwartete Wörter definieren oder die Eingabe in ein Führungselement strukturieren. Weitere Informationen zum Bereitstellen von Kontext für das Freihandanalysemodul finden Sie unter

CreateAnalysisHint, DeleteAnalysisHint und GetAnalysisHints.

Das Freihandanalysemodul stellt Analyseergebnisse als Zeichenfolge oder Struktur aus ContextNodeBase-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 InkAnalyzerBase für die Analyse von Freihandeingaben finden Sie unter Ink Analysis Overview.

Beispiele

In diesem Beispiel wird eine neue InkAnalyzerBase mit dem Namen theInkAnalyzerBase initialisiert. Dann wird die AnalysisModes-Eigenschaft festgelegt und ein UpdateStrokesCacheBase-Ereignishandler angefügt.

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

Vererbungshierarchie

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

Threadsicherheit

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

Plattformen

Windows Vista, Windows XP SP2, Windows Server 2003

.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

InkAnalyzerBase-Member

System.Windows.Ink.AnalysisCore-Namespace

System.Windows.Ink.AnalysisCore.AnalysisAlternateBase

System.Windows.Ink.AnalysisCore.AnalysisStatusBase

System.Windows.Ink.AnalysisCore.ContextLinkBase

System.Windows.Ink.AnalysisCore.ContextNodeBase