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 |
---|---|
|
Réussite. |
|
L’objet InkRectangle n’est pas inscrit sur le système. |
|
IInkStrokeDisp ne pointe pas vers un objet InkDisp compatible, ou drawingAttributes est un paramètre d’entrée non valide. |
|
Une exception s’est produite à l’intérieur de la méthode. |
|
Un paramètre contenait un pointeur non valide. |
|
Handle d’affichage non valide. |
|
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 |