Метод GraphicsPath::IsOutlineVisible(constPointF&,constPen*,constGraphics*) (gdipluspath.h)
Метод GraphicsPath::IsOutlineVisible определяет, касается ли указанная точка контура этого пути, когда путь рисуется указанным графическим объектом и указанным пером.
Синтаксис
BOOL IsOutlineVisible(
const PointF & point,
const Pen *pen,
const Graphics *g
);
Параметры
point
Ссылка на проверяемую точку.
pen
Указатель на объект Pen . Этот метод определяет, касается ли точка тестирования контура пути, который будет нарисован этим пером. Больше точек касается контура, нарисованного широким пером, чем контура, нарисованного узким пером.
g
Необязательный элемент. Указатель на объект Graphics , указывающий преобразование мира в устройство. Если этот параметр имеет значение NULL, проверка выполняется в мировых координатах; В противном случае проверка выполняется в координатах устройства. Значение по умолчанию — NULL.
Возвращаемое значение
Если точка тестирования касается контура этого пути, этот метод возвращает значение TRUE; В противном случае возвращается значение FALSE.
Remarks
Примеры
В следующем примере создается эллиптическая путь и он рисуется широким желтым пером. Затем код проверяет каждую точку в массиве, чтобы увидеть, касается ли точка контура (так как она будет нарисована широким желтым пером) пути. Точки, касающиеся контура, окрашены в зеленый цвет, а точки, которые не касаются контура, окрашены в красный цвет.
VOID Example_IsOutlineVisibleExample(HDC hdc)
{
Graphics graphics(hdc);
INT j;
Pen yellowPen(Color(255, 255, 255, 0), 20);
SolidBrush brush(Color(255, 255, 0, 0));
// Create and draw a path.
GraphicsPath path;
path.AddEllipse(50, 50, 200, 100);
graphics.DrawPath(&yellowPen, &path);
// Create an array of three points, and determine whether each
// point in the array touches the outline of the path.
// If a point touches the outline, paint it green.
// If a point does not touch the outline, paint it red.
PointF[] = {
PointF(230, 138),
PointF(100, 120),
PointF(150, 170)};
for(j = 0; j <= 2; ++j)
{
if(path.IsOutlineVisible(points[j], &yellowPen, NULL))
brush.SetColor(Color(255, 0, 255, 0));
else
brush.SetColor(Color(255, 255, 0, 0));
graphics.FillEllipse(&brush, points[j].X - 3.0f, points[j].Y - 3.0f, 6.0f, 6.0f);
}
}
Color(255, 255, 0, 0)Color(255, 255, 0, 0)
Требования
Верхняя часть | gdipluspath.h |