Partager via


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

Calcule le rectangle dans le contexte de l’appareil 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 dans le contexte de l’appareil qui contiendrait le trait si le trait était 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
Paramètre ou type de propriété inattendu.

Remarques

Cela est exact uniquement si vous passez les mêmes arguments à 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 d’affichage. La hauteur et la largeur du cadre 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 de 53, que la racine carrée du déterminant de la transformation d’affichage 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. Il en résulte un cadre englobant rendu de (-1325, -1325, 2326, 2326).

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP Édition Tablette PC [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