Freigeben über


Strokes.GetBoundingBox-Methode (BoundingBoxMode)

Gibt das umgebende Rechteck zurück, das das Stroke-Objekt enthält, indem mithilfe des angegebenen BoundingBoxMode-Flags die Begrenzungen bestimmt werden.

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

Syntax

'Declaration
Public Function GetBoundingBox ( _
    mode As BoundingBoxMode _
) As Rectangle
'Usage
Dim instance As Strokes
Dim mode As BoundingBoxMode
Dim returnValue As Rectangle

returnValue = instance.GetBoundingBox(mode)
public Rectangle GetBoundingBox(
    BoundingBoxMode mode
)
public:
Rectangle GetBoundingBox(
    BoundingBoxMode mode
)
public Rectangle GetBoundingBox(
    BoundingBoxMode mode
)
public function GetBoundingBox(
    mode : BoundingBoxMode
) : Rectangle

Parameter

Rückgabewert

Typ: System.Drawing.Rectangle
Gibt das umgebende Rechteck zurück, welches das umgebende Feld für die Strokes-Auflistung definiert.

Hinweise

Das umgebende Rechteck wird in Freihandbereich-Koordinaten angegeben.

Das umgebende Rechteck entspricht dem Teil der Anzeige, der für ungültig erklärt oder neu gezeichnet werden kann, wenn eine Strokes-Auflistung angezeigt wird.

Das umgebende Rechteck wird für alle Modi mit Ausnahme des BoundingBoxMode-Modus zwischengespeichert.

Wenn 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.

Hinweis

Wenn die Stiftbreite nicht explizit festgelegt wurde, beträgt sie standardmäßig 53. Sie müssen die Stiftbreite mit der Quadratwurzel der Determinanten multiplizieren, um das richtige umgebende Feld zu erhalten. Die Höhe und Breite des umgebenden Rechtecks werden in jede Richtung um die Hälfte dieses Betrags erweitert. Angenommen, die Stiftbreite beträgt 53, die Quadratwurzel der Determinante 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).

Hinweis

Diese Methode gibt ein umgebendes Rechteck zurück, das eine Kopie des umgebenden Felds der Strokes-Auflistung ist. Änderungen des von dieser Methode zurückgegebenen umgebenden Rechtecks wirken sich nicht auf das umgebende Feld der ursprünglichen Strokes-Auflistung aus.

Beispiele

In diesem Beispiel wird eine Strokes-Auflistung eines InkOverlay-Objekts so skaliert, dass es in die linke Hälfte des ursprünglichen umgebenden Felds passt. Zunächst wird das umgebende Rechteck der Strokes-Auflistung durch Aufrufen der GetBoundingBox-Methode mit dem CurveFit-Wert der BoundingBoxMode-Enumeration erstellt, um die Grenzen des umgebenden Felds zu bestimmen. Ein neues Rechteck mit der halben Breite des ursprünglichen Rechtecks wird dann erstellt und an die ScaleToRectangle-Methode übergeben.

' Access to the Strokes property returns a copy of the Strokes object.
' This copy must be implicitly (via using statement) or explicitly
' disposed of in order to avoid a memory leak.
Using allStrokes As Strokes = mInkOverlay.Ink.Strokes
    Dim bounds As Rectangle = allStrokes.GetBoundingBox(BoundingBoxMode.CurveFit)
    Dim halfRectangle As Rectangle = _
            New Rectangle(bounds.Left, bounds.Top, bounds.Width / 2, bounds.Height)
    allStrokes.ScaleToRectangle(halfRectangle)
End Using
// Access to the Strokes property returns a copy of the Strokes object.
// This copy must be implicitly (via using statement) or explicitly
// disposed of in order to avoid a memory leak.
using (Strokes allStrokes = mInkOverlay.Ink.Strokes)
{
    Rectangle bounds = allStrokes.GetBoundingBox(BoundingBoxMode.CurveFit);
    Rectangle halfRectangle = 
        new Rectangle(bounds.Left, bounds.Top, bounds.Width / 2, bounds.Height);
    allStrokes.ScaleToRectangle(halfRectangle);
}

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

Strokes-Klasse

Strokes-Member

GetBoundingBox-Überladung

Microsoft.Ink-Namespace

Stroke.GetBoundingBox

BoundingBoxMode