IInkRenderer::MeasureStroke, méthode (msinkaut.h)

Calcule le rectangle sur le contexte de périphérique qui contiendrait un trait s’il était dessiné avec l’objet InkRenderer à l’aide de la méthode DrawStroke .

Syntaxe

HRESULT MeasureStroke(
  [in]           IInkStrokeDisp        *Stroke,
  [in, optional] IInkDrawingAttributes *DrawingAttributes,
  [out, retval]  IInkRectangle         **Rectangle
);

Paramètres

[in] Stroke

Trait à mesurer.

[in, optional] DrawingAttributes

facultatif. InkDrawingAttributes à utiliser lors du calcul du rectangle, qui remplace les attributs de dessin sur le trait. La valeur par défaut est NULL, ce qui signifie que le trait est mesuré à l’aide de ses propres attributs de dessin.

[out, retval] Rectangle

Lorsque cette méthode est retournée, contient un pointeur vers le rectangle sur le contexte de périphérique qui contiendrait le trait si le trait a été dessiné avec la méthode DrawStroke de l’objet InkRenderer . Le trait doit contenir des coordonnées x et y pour calculer le rectangle. Sinon, la méthode retourne un rectangle vide.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
REGDB_E_CLASSNOTREG
L’objet InkRectangle n’est pas inscrit sur le système.
E_INK_INCOMPATIBLE_OBJECT

IInkStrokeDisp ne pointe pas vers un objet InkDisp compatible, ou drawingAttributes est un paramètre d’entrée non valide.

E_INK_EXCEPTION
Une exception s’est produite à l’intérieur de la méthode.
E_POINTER
Un paramètre contenait un pointeur non valide.
E_INVALIDARG
Handle d’affichage non valide.
E_UNEXPECTED
Type de paramètre ou de propriété inattendu.

Notes

Cela est exact uniquement si vous passez les mêmes arguments à la fois MeasureStroke et DrawStroke.

Étant donné que le cadre englobant est affecté par la largeur du stylet, cette largeur est mise à l’échelle de manière appropriée pour la transformation d’affichage d’InkRenderer. Pour ce faire, la largeur du stylet est multipliée par la racine carrée du déterminant de la transformation de vue. La hauteur et la largeur du rectangle englobant sont augmentées de la moitié de cette quantité dans chaque direction, et les côtés droit et inférieur sont incrémentés d’un.

Par exemple, considérez que la largeur du stylet est initialement 53, la racine carrée de la transformation de la vue est 50 et que le cadre englobant est (0, 0, 1000, 1000). L’ajustement de la largeur du stylet au cadre englobant dans chaque direction est calculé comme (53 * 50) / 2, et les côtés droit et inférieur sont incrémentés d’un. Cela entraîne un cadre englobant rendu de (-1325, -1325, 2326, 2326).

Configuration requise

   
Client minimal pris en charge Windows XP Tablet PC Edition [applications de bureau uniquement]
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête msinkaut.h
Bibliothèque InkObj.dll

Voir aussi

Draw, méthode [classe InkRenderer]

DrawStroke, méthode

IInkRenderer

IInkStrokeDisp, interface

InkRenderer, classe

Measure, méthode