Partager via


Données manuscrites

Une fois l’entrée manuscrite collectée, les applications peuvent gérer, manipuler et/ou transférer ces données vers d’autres supports. Les actions de sélection, de copie, de déplacement, d’enregistrement, d’affichage et de modification de l’entrée manuscrite ont lieu sur l’objet Ink et ses membres contenus, tels que la collection Strokes et les objets Stroke .

Notes

À l’aide de Real-Time stylet, les applications peuvent choisir de conserver les données dans leur propre format (par exemple, enregistrer les traits).

 

Encre, traits et paquets

Un objet Ink est le type de données fondamental qui gère, manipule et stocke l’entrée collectée à partir de l’objet InkCollector . Un objet Ink contient un ou plusieurs objets Stroke , ainsi que des méthodes et des propriétés courantes pour gérer et manipuler ces traits. Un trait est défini comme l’ensemble de données capturées dans une séquence de stylet unique, de mouvement de stylet et de stylet vers le haut. Les données de trait contiennent une collection de paquets. Un paquet est l’ensemble de données que la tablette envoie à chaque point d’échantillon. Ces données contiennent des informations telles que les coordonnées, la pression du stylet, l’angle du stylet et tout autre élément que le matériel peut transmettre. La propriété PacketDescription de l’objet Stroke décrit les paquets générés par une tablette .

Coups

Vous pouvez obtenir une instantané des traits dans un objet Ink à l’aide de la propriété Strokes de l’objet Ink. La propriété Strokes est une collection de références aux traits de l’objet Ink au moment de la lecture de la propriété Strokes . Si des traits sont ajoutés ou supprimés par la suite de l’objet Ink , une collection Strokes obtenue précédemment n’est pas mise à jour. En outre, la propriété Strokes est une valeur et, comme toute valeur, sort de l’étendue, sauf si elle est affectée à une variable.

Pour synchroniser une propriété Strokes avec un objet Ink, encapsulez-la dans un gestionnaire d’événements pour les événements StrokesAdded et StrokesRemoved de la collection Strokes. Le gestionnaire doit obtenir une nouvelle copie de la propriété Strokes lorsque l’un ou l’autre événement est déclenché. Veillez à ne pas ajouter le gestionnaire d’événements à une collection Strokes qui est hors de portée avant le déclenchement de l’événement.

Notez dans cet exemple que theAddedStrokesIDs est mis à jour avec une nouvelle copie de la propriété strokes dans le StrokesAdded_Event gestionnaire.

public void StrokesAdded_Event(object sender, StrokesEventArgs e)
{
    int [] theAddedStrokesIDs = e.StrokeIds;
    theListBox.Items.Clear();
    foreach (int i in theAddedStrokesIDs)
    {
        theListBox.Items.Add("Added Stroke ID: " + i.ToString());
    }
}

PacketDescription, propriété

La propriété PacketDescription de l’objet Ink définit le jeu d’informations dans chaque paquet que l’application obtient à partir d’un appareil Tablet PC. Les informations incluent généralement des coordonnées, mais elles peuvent inclure des informations beaucoup plus détaillées (selon les fonctionnalités du numériseur Tablet PC) telles que la pression du stylet ou l’angle du stylet. En définissant des descriptions de paquets sur l’objet InkCollector ou InkOverlay avant la collecte de toute entrée manuscrite (à l’aide de la propriété DesiredPacketDescription), vous avez un contrôle total sur les propriétés des appareils Tablet PC que vous souhaitez recevoir.

Extended Properties

Les propriétés étendues fournissent un mécanisme permettant d’attacher des données définies par l’application à des objets Ink et autres. Pour plus d’informations sur les propriétés étendues, consultez la collection ExtendedProperties .

Rendu de l’entrée manuscrite

L’objet Renderer est responsable du rendu de l’entrée manuscrite. Dans un contexte de tablette approprié, l’objet Renderer peut mapper les coordonnées de l’espace d’entrée manuscrite à des pixels, appliquer des transformations d’affichage et afficher l’entrée manuscrite sur les écrans et les imprimantes. Les méthodes Draw et DrawStroke sont les principales méthodes de rendu de l’entrée manuscrite. Pour plus d’informations sur l’affichage de l’entrée manuscrite dans une fenêtre, consultez l’objet Renderer .

Cusps

Un trait commence normalement lorsque le stylet est abaissé à la surface de dessin et se termine lorsque le stylet est levé. Dans un trait, les pics, les angles et les changements radicaux de direction sont appelés cusps. Les points de terminaison d’un trait sont également considérés comme des cuspps. Par exemple, la lettre majuscule « L » comporte trois cuspps, un au milieu et un à chaque extrémité.

Au fur et à mesure qu’un trait est entré, il est normalement lissé et rendu à l’aide d’une courbe de Bézier (ou polyligne). Les courbes de Bézier peuvent transformer les cusps en petites boucles. Par exemple, le pic de la lettre cursive « i » peut être lissé pour ressembler au « e » cursif. Pour éviter cela, les renderers Microsoft ont une phase « pré-Bézier » qui gère les cusps différemment.

Les cusps peuvent également être utilisés pour subdiviser les objets Stroke en unités effacables. Par exemple, la sélection du côté vertical d’un « L » majuscule peut indiquer l’effacement de ce côté uniquement. La partie du trait à effacer serait la partie entre deux cuspps.