IInkRenderer::Measure-Methode (msinkaut.h)

Berechnet das Rechteck im Gerätekontext, das eine Auflistung von Strichen enthalten würde, wenn die Striche mit dem InkRenderer-Objekt mit der DrawStroke-Methode gezeichnet würden.

Syntax

HRESULT Measure(
  [in]          IInkStrokes   *Strokes,
  [out, retval] IInkRectangle **Rectangle
);

Parameter

[in] Strokes

Die Sammlung der zu messenden Striche.

[out, retval] Rectangle

Wenn diese Methode zurückgibt, enthält einen Zeiger auf das Rechteck im Gerätekontext, das die Striche enthalten würde, wenn sie mit der DrawStroke-Methode des InkRenderer-Objekts gezeichnet würden. Die Striche müssen x- und y-Koordinaten enthalten, um das Rechteck zu berechnen. Andernfalls gibt die Methode ein leeres Rechteck zurück.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_POINTER
Ein Parameter enthielt einen ungültigen Zeiger.
E_INVALIDARG
Ungültiger Anzeigehandle.
E_INK_INCOMPATIBLE_OBJECT
Der Strichparameter zeigt nicht auf ein gültiges Objekt.
E_INK_MISMATCHED_INK_OBJECT
Der Strichparameter ist einem anderen InkDisp-Objekt zugeordnet.
E_INK_EXCEPTION
Innerhalb der -Methode ist eine Ausnahme aufgetreten.
E_UNEXPECTED
Unerwarteter Parameter oder Eigenschaftstyp.

Hinweise

Dies ist nur richtig, wenn Sie dieselben Argumente sowohl an Measure als auch an DrawStroke übergeben.

Da das begrenzungsfeld von der Stiftbreite beeinflusst wird, wird diese Breite für die Transformation der Ansicht des InkRenderers entsprechend skaliert. Dazu wird die Stiftbreite mit der Quadratwurzel der Determinante der Ansichtstransformation multipliziert. Die Höhe und Breite des Begrenzungsrahmens werden in jeder Richtung um die Hälfte erweitert, und die rechte und die untere Seite werden um eins erhöht.

Angenommen, die Stiftbreite ist ursprünglich 53, die Quadratwurzel der Determinante der Ansichtstransformation ist 50 und das umgebende Feld ist (0, 0, 1000, 1000). Die Anpassung der Stiftbreite an das Begrenzungsfeld in jeder Richtung wird als (53 * 50) / 2 berechnet, und die rechte und untere Seite werden um eins erhöht. Dies führt zu einem gerenderten Begrenzungsrahmen von (-1325, -1325, 2326, 2326).

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile msinkaut.h
Bibliothek InkObj.dll

Weitere Informationen

Draw-Methode [InkRenderer-Klasse]

IInkRenderer

IInkStrokeDisp-Schnittstelle

InkRenderer-Klasse

MeasureStroke-Methode