Freigeben über


Renderer.Measure-Methode (Stroke, DrawingAttributes)

Berechnet das Rectangle im Gerätekontext, das zur Aufnahme des Stroke-Objekts erforderlich ist, das mit der Draw-Methode des Renderer-Objekts durch Verwenden der angegebenen DrawingAttributes gezeichnet werden soll.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Function Measure ( _
    stroke As Stroke, _
    da As DrawingAttributes _
) As Rectangle
'Usage
Dim instance As Renderer
Dim stroke As Stroke
Dim da As DrawingAttributes
Dim returnValue As Rectangle

returnValue = instance.Measure(stroke, _
    da)
public Rectangle Measure(
    Stroke stroke,
    DrawingAttributes da
)
public:
Rectangle Measure(
    Stroke^ stroke, 
    DrawingAttributes^ da
)
public Rectangle Measure(
    Stroke stroke,
    DrawingAttributes da
)
public function Measure(
    stroke : Stroke, 
    da : DrawingAttributes
) : Rectangle

Parameter

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 das Stroke-Objekt theStroke abgerufen, wenn sich die Stiftbreite verdoppelt. Das Renderer-Objekt stammt aus dem InkOverlay-Objekt theInkOverlay.

DrawingAttributes drawingAtt = theStroke.DrawingAttributes.Clone();
drawingAtt.Width = drawingAtt.Width * 2;
Rectangle bounds = theInkOverlay.Renderer.Measure(theStroke, drawingAtt);

In diesem Microsoft® Visual Basic® .NET-Beispiel wird das umgebende Rechteck für das Stroke-Objekt theStroke abgerufen, wenn sich die Stiftbreite verdoppelt. Das Renderer-Objekt stammt aus dem InkOverlay-Objekt theInkOverlay.

Dim drawingAtt As DrawingAttributes = theStroke.DrawingAttributes.Clone();
drawingAtt.Width = drawingAtt.Width * 2;
Dim bounds As Rectangle = theInkOverlay.Renderer.Measure(theStroke, drawingAtt);

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

Siehe auch

Referenz

Renderer-Klasse

Renderer-Member

Measure-Überladung

Microsoft.Ink-Namespace

Renderer.Draw

Stroke.GetBoundingBox

Strokes.GetBoundingBox

DrawingAttributes