Condividi tramite


Metodo Strokes.GetBoundingBox (BoundingBoxMode)

Aggiornamento: novembre 2007

Restituisce l'oggetto Rectangle di delimitazione che contiene l'oggetto Stroke, tramite il flag BoundingBoxMode specificato per determinare i limiti.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
Public Function GetBoundingBox ( _
    mode As BoundingBoxMode _
) As Rectangle
'Utilizzo
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

Parametri

Valore restituito

Tipo: System.Drawing.Rectangle
Restituisce l'oggetto Rectangle di delimitazione che definisce il riquadro per l'insieme Strokes.

Note

L'oggetto Rectangle di delimitazione si trova nelle coordinate dello spazio di input penna.

L'oggetto Rectangle di delimitazione corrisponde alla parte della visualizzazione da invalidare o ridisegnare in caso di visualizzazione di un insieme Strokes.

Il riquadro viene memorizzato nella cache per tutte le modalità diverse da BoundingBoxMode.

Quando lo spessore della penna ha effetto sul riquadro, lo spessore viene ridimensionato in modo adeguato alla trasformazione della visualizzazione dell'oggetto Renderer. A tale scopo, lo spessore della penna viene moltiplicato per la radice quadrata del determinante della trasformazione della visualizzazione.

Nota

Se lo spessore della penna non è stato impostato in modo esplicito, il valore predefinito è 53. È necessario moltiplicare lo spessore della penna per la radice quadrata del determinante per produrre il riquadro corretto. L'altezza e la larghezza del riquadro sono espanse della metà di questa quantità in ogni direzione. Ad esempio, si consideri che lo spessore della penna sia 53, la radice quadrata del determinante sia 50 e il riquadro sia (0, 0, 1000, 1000). La regolazione dello spessore della penna nel riquadro in ogni direzione viene calcolata come (53 * 50) / 2 e i lati destro e inferiore vengono incrementati di uno. Il risultato è un riquadro di cui è stato eseguito il rendering di (-1325, -1325, 2326, 2326).

Nota

L'oggetto Rectangle di delimitazione restituito da questo metodo è una copia del riquadro dell'insieme Strokes. La modifica apportata all'oggetto Rectangle restituito da questo metodo non influisce sul riquadro dell'insieme Strokes originale.

Esempi

In questo esempio, un insieme Strokes di un oggetto InkOverlay viene ridimensionato per rientrare nella metà sinistra del riquadro originale. Innanzitutto, il rettangolo di delimitazione dell'insieme Strokes viene ottenuto chiamando il metodo GetBoundingBox utilizzando il valore CurveFit dell'enumerazione BoundingBoxMode per determinare i limiti del riquadro. Un nuovo rettangolo con metà della larghezza originale viene quindi creato e passato al metodo ScaleToRectangle.

' 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);
}

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

Strokes Classe

Membri Strokes

Overload GetBoundingBox

Spazio dei nomi Microsoft.Ink

Stroke.GetBoundingBox

BoundingBoxMode