Séquence d’appel classique
Les méthodes que vous devez implémenter pour créer un module de reconnaissance manuscrite sont appelées par les API de la plateforme Tablet PC et non directement par une application avec entrée manuscrite.
Les étapes suivantes représentent une séquence d’appel classique pour l’implémentation de ces méthodes :
- La DLL est chargée.
- Un handle HRECOGNIZER est créé.
- Un handle HRECOCONTEXT est créé.
- Les options et modes de reconnaissance sont définis pour ce contexte.
- Les traits sont ajoutés aux données manuscrites.
- L’entrée est terminée.
- L’encre est reconnue.
- Les résultats de la reconnaissance sont retournés.
- Le handle HRECOCONTEXT est détruit.
- La poignée HRECOGNIZER est détruite.
La séquence d’appels est également illustrée dans le plan de code suivant :
CreateRecognizer(CLSID, &hrec);
while (more pieces of ink to recognize ... )
{
// Create a context, once per piece of ink to be recognized
hrc = CreateContext(hrec, &hrc);
// Functions to set up options and modes for this context
SetGuide(hrc, pGuide, 0);
SetFactoid(hrc, 5, PHONE); // only if in application with forms
SetFlags(hrc, RECOFLAG_WORDMODE); // rare, only if wanting word mode, no out-of-dictionary, or single segmentation
SetWordList(hrc, hwl);
// Adding all the strokes in this piece of ink
while (more strokes ... )
{
AddStroke(hrc, NULL, 800, pPacket, pXForm); // one call per stroke
}
EndInkInput(hrc);
// This gets the ink recognized
Process(hrc);
// If this is a simple application, it calls this for a simple answer
GetBestResultString(hrc, length, buffer);
// If this is a complex application, it calls this for a complete answer
GetLatticePtr(hrc, &pLattice);
// Destroy the context
DestroyContext(hrc);
}
// Called just before the application shuts down
DestroyRecognizer(hrec);
Rubriques connexes
-
API Recognizer