IInkRenderer::MeasureStroke-Methode (msinkaut.h)

Berechnet das Rechteck im Gerätekontext, das einen Strich enthalten würde, wenn es mit dem InkRenderer-Objekt mit der DrawStroke-Methode gezeichnet würde.

Syntax

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

Parameter

[in] Stroke

Der zu messende Strich.

[in, optional] DrawingAttributes

Optional. Die Bei der Berechnung des Rechtecks zu verwendenden InkDrawingAttributes , die die Zeichnungsattribute auf dem Strich überschreiben. Der Standardwert ist NULL. Dies bedeutet, dass der Strich mit eigenen Zeichnungsattributen gemessen wird.

[out, retval] Rectangle

Wenn diese Methode zurückgibt, enthält einen Zeiger auf das Rechteck im Gerätekontext, das den Strich enthalten würde, wenn der Strich mit der DrawStroke-Methode des InkRenderer-Objekts gezeichnet würde. Der Strich muss 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.
REGDB_E_CLASSNOTREG
Das InkRectangle-Objekt ist nicht im System registriert.
E_INK_INCOMPATIBLE_OBJECT

IInkStrokeDisp verweist nicht auf ein kompatibles InkDisp-Objekt , oder drawingAttributes ist ein ungültiger Eingabeparameter.

E_INK_EXCEPTION
Innerhalb der -Methode ist eine Ausnahme aufgetreten.
E_POINTER
Ein Parameter enthielt einen ungültigen Zeiger.
E_INVALIDARG
Ungültiges Anzeigehandle.
E_UNEXPECTED
Unerwarteter Parameter oder Eigenschaftstyp.

Hinweise

Dies ist nur korrekt, wenn Sie die gleichen Argumente sowohl an MeasureStroke als auch an DrawStroke übergeben.

Da das Begrenzungsfeld von der Stiftbreite beeinflusst wird, wird diese Breite für die Ansichtstransformation von InkRenderer entsprechend skaliert. Dazu wird die Stiftbreite mit der Quadratwurzel der Determinante der Ansichtstransformation multipliziert. 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 beträgt ursprünglich 53, die Quadratwurzel der Determinante der Ansichtstransformation ist 50 und das Begrenzungsfeld ist (0, 0, 1000, 1000). Die Anpassung der Stiftbreite am Begrenzungsrahmen 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]

DrawStroke-Methode

IInkRenderer

IInkStrokeDisp-Schnittstelle

InkRenderer-Klasse

Measure-Methode