Séquence d’appels classique
Les méthodes que vous devez implémenter pour créer un outil de reconnaissance manuscrite sont appelées par les API de plateforme Tablet PC et non pas 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.
- Des 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.
- Le handle HRECOGNIZER est détruit.
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