Renderer.Measure-Methode (Stroke)
Berechnet das Rectangle im Gerätekontext, das zur Aufnahme des mit der Draw-Methode des Renderer-Objekts zu zeichnende Stroke-Objekt erforderlich ist.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Function Measure ( _
stroke As Stroke _
) As Rectangle
'Usage
Dim instance As Renderer
Dim stroke As Stroke
Dim returnValue As Rectangle
returnValue = instance.Measure(stroke)
public Rectangle Measure(
Stroke stroke
)
public:
Rectangle Measure(
Stroke^ stroke
)
public Rectangle Measure(
Stroke stroke
)
public function Measure(
stroke : Stroke
) : Rectangle
Parameter
- stroke
Typ: Microsoft.Ink.Stroke
Das zu messende Stroke-Objekt.
Rückgabewert
Typ: System.Drawing.Rectangle
Das Rectangle im Gerätekontext, das zur Aufnahme der Striche erforderlich ist, wenn diese mit der Draw-Methode des Renderer-Objekts gezeichnet wurden. Zur Berechnung des Rechtecks muss der Strich x-Koordinaten und y-Koordinaten enthalten. Andernfalls gibt die Methode ein leeres Rechteck zurück.
Hinweise
Diese Methode ist nur präzise, wenn Sie an die Measure-Methode und die Draw-Methode dieselben Argumente übergeben.
Da sich die Stiftbreite auf das umgebende Rechteck auswirkt, wird diese Breite entsprechend für die Ansichtstransformation des Renderer-Objekts skaliert. Zu diesem Zweck wird die Stiftbreite mit der Quadratwurzel der Determinanten der Ansichtstransformation multipliziert. Die Höhe und Breite des umgebenden Rechtecks werden in jede Richtung um die Hälfte dieses Betrags erweitert, und die rechte und 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 umgebende Rechteck ist (0, 0, 1000, 1000). Die Anpassung der Stiftbreite an das umgebende Rechteck in jede Richtung wird als (53 * 50) / 2 berechnet, und die rechte und untere Seite werden um eins erhöht. Dies führt zu dem gerenderten umgebenden Rechteck (-1325, -1325, 2326, 2326).
Beispiele
In diesem C#-Beispiel wird das umgebende Rechteck für ein Stroke-Objekt abgerufen, das durch Ink.CreateStroke über ein Array von Point-Objekten mit dem Namen points erstellt wird. Das Ink-Objekt und das Renderer-Objekt stammen aus dem InkOverlay-Objekt theInkOverlay.
Stroke createdStroke = theInkOverlay.Ink.CreateStroke(points);
Rectangle bounds = theInkOverlay.Renderer.Measure(createdStroke);
In diesem Microsoft® Visual Basic® .NET-Beispiel wird das umgebende Rechteck für ein Stroke-Objekt abgerufen, das durch Ink.CreateStroke über ein Array von Point-Objekten mit dem Namen points erstellt wird. Das Ink-Objekt und das Renderer-Objekt stammen aus dem InkOverlay-Objekt theInkOverlay.
Dim createdStroke As Stroke = theInkOverlay.Ink.CreateStroke(points)
Dim bounds As Rectangle = theInkOverlay.Renderer.Measure(createdStroke)
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0