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

O método GraphicsPath::GetBounds obtém um retângulo delimitador para esse caminho.

Sintaxe

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

Parâmetros

[out] bounds

Tipo: Rect*

Ponteiro para um objeto Rect que recebe o retângulo delimitador.

[in] matrix

Tipo: const Matrix*

Opcional. Ponteiro para um objeto Matrix que especifica uma transformação a ser aplicada a esse caminho antes que o retângulo delimitador seja calculado. Esse caminho não é transformado permanentemente; a transformação é usada somente durante o processo de cálculo do retângulo delimitador. O valor padrão é NULL.

[in] pen

Tipo: caneta* const

Opcional. Ponteiro para um objeto Pen que influencia o tamanho do retângulo delimitador. O retângulo delimitador recebido nos limites será grande o suficiente para colocar esse caminho quando o caminho for desenhado com a caneta especificada por esse parâmetro. Isso garante que o caminho seja delimitado pelo retângulo delimitador, mesmo que o caminho seja desenhado com uma caneta larga. O valor padrão é NULL.

Valor retornado

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

O retângulo retornado por esse método pode ser maior do que o necessário para colocar o caminho como desenhado pela caneta especificada. O retângulo é calculado para permitir o limite de miter da caneta em cantos afiados e para permitir as tampas finais da caneta.

Exemplos

O exemplo a seguir cria um caminho que tem uma curva e uma elipse. O código desenha o caminho com uma caneta amarela grossa e uma caneta preta fina. O método GraphicsPath::GetBounds recebe o endereço da caneta amarela grossa e calcula um retângulo delimitador para o caminho. Em seguida, o código desenha o retâ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 com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdipluspath.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Recorte com uma região

Construindo e desenhando demarcadores

Criando um Gradiente de Caminho

Graphicspath

Matriz

Caminhos

Caneta

Rect