Метод GraphicsPath::GetBounds(RectF*,constMatrix*,constPen*) (gdipluspath.h)
Метод GraphicsPath::GetBounds получает ограничивающий прямоугольник для этого пути.
Синтаксис
Status GetBounds(
RectF *bounds,
const Matrix *matrix,
const Pen *pen
);
Параметры
bounds
Указатель на объект RectF, который получает ограничивающий прямоугольник.
matrix
Необязательный. Указатель на объект Matrix, указывающий преобразование, которое будет применяться к этому пути до вычисления ограничивающего прямоугольника. Этот путь не преобразуется окончательно; Преобразование используется только в процессе вычисления ограничивающего прямоугольника. Значение по умолчанию — NULL.
pen
Необязательный.
Указатель на объект пера
Возвращаемое значение
Тип :состояние
Если метод выполнен успешно, он возвращает ok, который является элементом перечисления Status.
Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status.
Замечания
Прямоугольник, возвращаемый этим методом, может быть больше, чем необходимо, чтобы заключить путь, нарисованный указанным пером. Прямоугольник вычисляется, чтобы разрешить ограничение митер пера в острых углах и разрешить конечные крышки пера.
Примеры
В следующем примере создается путь, имеющий одну кривую и один многоточие. Код рисует путь с толстым желтым пером и тонким черным пером. Метод GraphicsPath::GetBounds получает адрес толстого желтого пера и вычисляет ограничивающий прямоугольник для пути. Затем код рисует ограничивающий прямоугольник.
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.
RectF rect;
path.GetBounds(&rect, NULL, &yellowPen);
graphics.DrawRectangle(&redPen, rect);
}
Color(255, 0, 0, 0)Color(255, 255, 0, 0)
Требования
Требование | Ценность |
---|---|
заголовка | gdipluspath.h |
См. также
обрезка с помощью региона