Compartir a través de


Strokes.GetBoundingBox (Método) (BoundingBoxMode)

Actualización: noviembre 2007

Devuelve el rectangulo delimitador Rectangle que contiene el objeto Stroke, utilizando el marcador BoundingBoxMode especificado para determinar los límites.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Function GetBoundingBox ( _
    mode As BoundingBoxMode _
) As Rectangle
'Uso
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

Parámetros

Valor devuelto

Tipo: System.Drawing.Rectangle
Devuelve el rectangulo delimitador Rectangle que define el cuadro de límite de la colección Strokes.

Comentarios

El rectangulo delimitador Rectangle se encuentra en coordenadas espaciales de entrada manuscrita.

El rectangulo delimitador Rectangle corresponde a la parte de la presentación que se desea invalidar o actualizar al mostrar una colección Strokes.

El cuadro de límite se almacena en la memoria caché para todos los modos que no sean el modo BoundingBoxMode.

Cuando el cuadro de límite se ve afectado por el ancho de la pluma, este ancho se escala convenientemente conforme a la transformación de la vista del objeto Renderer. Para ello, el ancho de la pluma se multiplica por la raíz cuadrada del determinante de la transformación de vista.

Nota

Si no ha establecido explícitamente el ancho de la pluma, el valor predeterminado es 53. Debe multiplicar el ancho de la pluma por la raíz cuadrada del determinante para obtener el cuadro de límite correcto. El alto y el ancho del cuadro de límite se amplían la mitad de esta cantidad en cada dirección. Por ejemplo, supongamos que el ancho de la pluma es 53, la raíz cuadrada del factor determinante es 50 y el cuadro de límite es (0, 0, 1000, 1000). El ajuste del ancho de la pluma respecto al cuadro de límite en cada dirección se calcula con esta operación (53 * 50) / 2, y la parte derecha e inferior se incrementan en uno. Esto genera un cuadro de límite representado de (-1325, -1325, 2326, 2326).

Nota

El rectangulo delimitador Rectangle devuelto por este método es una copia del cuadro de límite de la colección Strokes. Modificar el Rectangle que devuelve este método no tiene ningún efecto en el cuadro de límite de colección Strokes original.

Ejemplos

En este ejemplo, se ajusta la escala de una colección Strokes de un objeto InkOverlay, para que quepa en la mitad izquierda del cuadro de límite original. Primero, se obtiene el rectángulo delimitador de la colección Strokes llamando al método GetBoundingBox mediante el valor CurveFit de la enumeración BoundingBoxMode para determinar los límites del cuadro de límite. A continuación, se crea un nuevo rectángulo con la mitad del ancho original y se pasa al método 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);
}

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

Strokes (Clase)

Strokes (Miembros)

GetBoundingBox (Sobrecarga)

Microsoft.Ink (Espacio de nombres)

Stroke.GetBoundingBox

BoundingBoxMode