Partager via


InkAnalyzerBase, classe

Mise à jour : November 2007

Fournit l'accès à l'analyse de disposition, à la classification d'écriture et de dessin et à la reconnaissance de l'écriture manuscrite.

Espace de noms :  System.Windows.Ink.AnalysisCore
Assembly :  IACore (dans IACore.dll)

Syntaxe

'Déclaration
Public Class InkAnalyzerBase _
    Implements IDisposable
'Utilisation
Dim instance As InkAnalyzerBase
public class InkAnalyzerBase : IDisposable
public ref class InkAnalyzerBase : IDisposable
public class InkAnalyzerBase implements IDisposable
public class InkAnalyzerBase implements IDisposable

Notes

InkAnalyzerBase utilise les données de paquet des traits pour analyser l'entrée manuscrite et n'interagit pas directement avec l'entrée manuscrite ou les objets Stroke.

ms616289.alert_caution(fr-fr,VS.90).gifAttention :

Pour éviter toute fuite de mémoire, vous devez appeler explicitement la méthode Dispose sur tous les objets InkAnalyzerBase auxquels un gestionnaire d'événements a été attaché avant que l'objet ne soit hors de portée.

Pour ajouter ou supprimer des traits du InkAnalyzerBase pour analyse, utilisez la méthode AddStroke, AddStrokes, RemoveStroke ou RemoveStrokes. Ces méthodes mettent à jour la propriété DirtyRegion qui correspond à la région pour laquelle les traits seront analysés lors de la prochaine opération d'analyse.

Pour analyser l'entrée manuscrite, utilisez la méthode Analyze ou BackgroundAnalyze. Pendant l'analyse, le InkAnalyzerBase exécute une analyse de disposition, une classification des traits et une reconnaissance de l'écriture manuscrite.

Pendant l'analyse, le InkAnalyzerBase déclenche plusieurs événements, y compris des événements générés pendant l'analyse d'arrière-plan sur le thread sur lequel l'analyseur est créé. De nombreux événements InkAnalyzerBase prennent en charge les fonctionnalités du proxy de données du InkAnalyzerBase. Pour plus d'informations, consultez Data Proxy with Ink Analysis.

Pour arrêter le processus d'analyse à partir d'un gestionnaire d'événements, appelez la méthode Abort.

Pour modifier la langue utilisée par l'analyseur d'entrée manuscrite pour reconnaître l'écriture, utilisez SetStrokeLanguageId ou SetStrokesLanguageId. Pour modifier la manière dont l'analyseur d'entrée manuscrite classe des traits spécifiques, utilisez SetStrokeType ou SetStrokesType.

Le InkAnalyzerBase charge l'ensemble des modules de reconnaissance de l'écriture manuscrite installés. La méthode GetInkRecognizersByPriority retourne un InkRecognizerBaseCollection contenant chaque InkRecognizerBase disponible. Si plusieurs modules de reconnaissance de l'écriture manuscrite prennent en charge une langue spécifique, utilisez SetHighestPriorityInkRecognizer(InkRecognizer) pour définir le module de reconnaissance de l'écriture manuscrite qui gère des traits pour cette langue.

Les indications d'analyse peuvent améliorer la précision de la reconnaissance en fournissant du contexte supplémentaire à l'analyseur d'entrée manuscrite. Ces informations supplémentaires peuvent aider l'analyseur d'entrée manuscrite à réduire le nombre de résultats de reconnaissance possibles.  Par exemple, vous pouvez diminuer ce nombre en définissant des éléments ou les mots attendus ou en structurant votre entrée en repère de reconnaissance. Pour plus d'informations sur la mise à disposition de contexte à l'analyseur d'entrée manuscrite, consultez

CreateAnalysisHint, DeleteAnalysisHint et GetAnalysisHints.

L'analyseur d'entrée manuscrite représente les résultats de l'analyse sous forme de chaîne ou d'arborescence d'objets ContextNodeBase. Pour accéder à la chaîne reconnue, utilisez GetRecognizedString. Pour accéder à la racine de l'arborescence, utilisez la propriété RootNode. L'analyseur d'entrée manuscrite utilise les méthodes suivantes pour rechercher du texte ou des nœuds de contexte spécifiques.

Pour utiliser d'autres résultats d'analyse, utilisez GetAlternates et ModifyTopAlternate.

Pour enregistrer des résultats d'analyse, utilisez SaveResults. Pour charger des résultats enregistrés, utilisez Load.

Pour plus d'informations sur l'utilisation du InkAnalyzerBase pour analyser l'entrée manuscrite, consultez Ink Analysis Overview.

Exemples

Cet exemple initialise un nouveau InkAnalyzerBase, theInkAnalyzerBase. La propriété AnalysisModes est définie et un gestionnaire d'événements UpdateStrokesCacheBase est attaché.

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

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Plateformes

Windows Vista, Windows XP SP2, Windows Server 2003

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

Membres InkAnalyzerBase

System.Windows.Ink.AnalysisCore, espace de noms

System.Windows.Ink.AnalysisCore.AnalysisAlternateBase

System.Windows.Ink.AnalysisCore.AnalysisStatusBase

System.Windows.Ink.AnalysisCore.ContextLinkBase

System.Windows.Ink.AnalysisCore.ContextNodeBase