GraphicsPath::GetBounds(Rect*,constMatrix*,constPen*) (gdipluspath.h)

El método GraphicsPath::GetBounds obtiene un rectángulo delimitador para esta ruta de acceso.

Sintaxis

Status GetBounds(
  [out] Rect         *bounds,
  [in]  const Matrix *matrix,
  [in]  const Pen    *pen
);

Parámetros

[out] bounds

Tipo: Rect*

Puntero a un objeto Rect que recibe el rectángulo delimitador.

[in] matrix

Tipo: matriz const *

Opcional. Puntero a un objeto Matrix que especifica una transformación que se va a aplicar a esta ruta de acceso antes de calcular el rectángulo delimitador. Este trazado no se transforma de manera permanente, se usa sólo durante el proceso de cálculo del rectángulo delimitador. El valor predeterminado es NULL.

[in] pen

Tipo: const Pen*

Opcional. Puntero a un objeto Pen que influye en el tamaño del rectángulo delimitador. El rectángulo delimitador recibido en los límites será lo suficientemente grande como para incluir esta ruta de acceso cuando la ruta de acceso se dibuja con el lápiz especificado por este parámetro. Esto garantiza que la ruta de acceso esté incluida en el rectángulo delimitador incluso si la ruta de acceso se dibuja con un lápiz ancho. El valor predeterminado es NULL.

Valor devuelto

Tipo: Estado

Si el método se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Comentarios

El rectángulo devuelto por este método puede ser mayor de lo necesario para incluir la ruta de acceso dibujada por el lápiz especificado. El rectángulo se calcula para permitir el límite de miter del lápiz en esquinas afiladas y permitir los extremos del lápiz.

Ejemplos

En el ejemplo siguiente se crea una ruta de acceso que tiene una curva y una elipse. El código dibuja la ruta de acceso con un lápiz amarillo grueso y un lápiz negro fino. El método GraphicsPath::GetBounds recibe la dirección del lápiz amarillo grueso y calcula un rectángulo delimitador para la ruta de acceso. A continuación, el código dibuja el rectángulo delimitador.

VOID GetBoundsExample(HDC hdc)
{
   Graphics graphics(hdc);
   Pen blackPen(Color(255, 0, 0, 0), 1);
   Pen yellowPen(Color(255, 255, 255, 0), 10);
   Pen redPen(Color(255, 255, 0, 0), 1);

   Point pts[] = {Point(120,120), 
                  Point(200,130), 
                  Point(150,200), 
                  Point(130,180)};

   // Create a path that has one curve and one ellipse.
   GraphicsPath path;
   path.AddClosedCurve(pts, 4);
   path.AddEllipse(120, 220, 100, 40);

   // Draw the path with a thick yellow pen and a thin black pen.
   graphics.DrawPath(&yellowPen, &path);
   graphics.DrawPath(&blackPen, &path);
 
   // Get the path's bounding rectangle.
   Rect rect;
   path.GetBounds(&rect, NULL, &yellowPen);
   graphics.DrawRectangle(&redPen, rect);  
}

Color(255, 0, 0, 0)Color(255, 255, 0,  0)

Requisitos

   
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdipluspath.h (incluya Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Recorte con una región

Crear y dibujar trazados

Crear un degradado de trazado

Graphicspath

Matriz

Paths

Lápiz

Rect