Метод 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

См. также раздел

Обрезка с помощью региона

Построение и рисование контуров

Создание градиента пути

Графика

GraphicsPath

Методы IsOutlineVisible

Методы IsVisible

Пути

Перо

Перья, линии и прямоугольники

Pointf

Настройка ширины и выравнивания пера