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
Construindo e desenhando demarcadores