Partager via


InkAnalyzer, 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 :  Microsoft.Ink
Assembly :  Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)

Syntaxe

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

Notes

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

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

Pendant l'analyse, le InkAnalyzer déclenche plusieurs événements. Affectez une valeur permettant de spécifier le thread sur lequel InkAnalyzer déclenche des événements générés pendant l'analyse d'arrière-plan à la propriété SynchronizingObject. De nombreux événements InkAnalyzer prennent en charge les fonctionnalités du proxy de données du InkAnalyzer. 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 les méthodes InkAnalyzer.SetStrokeLanguageId ou InkAnalyzer.SetStrokesLanguageId. Pour modifier la manière dont l'analyseur d'entrée manuscrite classifie des traits spécifiques, utilisez les méthodes InkAnalyzer.SetStrokeType ou InkAnalyzer.SetStrokesType.

InkAnalyzer charge l'ensemble des modules de reconnaissance de l'écriture manuscrite installés. La méthode GetInkRecognizersByPriority obtient une InkRecognizerCollection contenant chaque InkRecognizer disponible. Si plusieurs modules de reconnaissance de l'écriture manuscrite prennent en charge une langue spécifique, utilisez la méthode SetAsHighestPriorityInkRecognizer pour définir le module de reconnaissance de l'écriture manuscrite qui gère des traits pour cette langue.

Pour plus d'informations sur l'apport de contexte pour l'opération d'analyse 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 ContextNode. Pour accéder à la chaîne reconnue, utilisez la méthode 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 InkAnalyzer pour analyser l'entrée manuscrite, consultez Ink Analysis Overview.

Vous devez appeler explicitement la méthode Dispose sur tout objet InkAnalyzer auquel un a été attaché un gestionnaire d'événements avant qu'il ne soit hors de portée.

Exemples

Cet exemple effectue les actions suivantes.

  • Initialise un nouvel objet Microsoft.Ink.Ink, theInk.

  • Attache un gestionnaire d'événements Ink.InkAdded, theInk_InkAdded, à theInk.

  • Initialise un nouvel InkAnalyzer, theInkAnalyzer qui peut analyser les données de trait à partir de 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);

Dans cet exemple, le gestionnaire d'événements theInk_InkAdded prend ensuite les traits qui ont été ajoutés à theInk et les ajoute à 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));
}

Hiérarchie d'héritage

System.Object
  Microsoft.Ink.InkAnalyzer

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

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 InkAnalyzer

Microsoft.Ink, espace de noms

Microsoft.Ink.AnalysisAlternate

Microsoft.Ink.AnalysisHintNode

Microsoft.Ink.AnalysisStatus

Microsoft.Ink.ContextLink

Microsoft.Ink.ContextNode