다음을 통해 공유


GraphicsPath::IsOutlineVisible(constPointF&,constPen*,constGraphics*) 메서드(gdipluspath.h)

GraphicsPath::IsOutlineVisible 메서드는 지정된 Graphics 개체와 지정된 펜으로 경로를 그릴 때 지정된 점이 이 경로의 윤곽선에 닿는지 여부를 결정합니다.

구문

BOOL IsOutlineVisible(
  const PointF & point,
  const Pen      *pen,
  const Graphics *g
);

매개 변수

point

테스트할 지점에 대한 참조입니다.

pen

개체에 대한 포인터입니다. 이 메서드는 테스트 지점이 이 펜으로 그릴 경로 윤곽선에 닿는지 여부를 결정합니다. 좁은 펜으로 그린 윤곽선을 터치하는 것보다 넓은 펜으로 그린 윤곽선에 더 많은 점이 닿습니다.

g

선택 사항입니다. 세계-디바이스 변환을 지정하는 Graphics 개체에 대한 포인터입니다. 이 매개 변수의 값이 NULL이면 테스트가 월드 좌표로 수행됩니다. 그렇지 않으면 테스트가 디바이스 좌표로 수행됩니다. 기본값은 NULL입니다.

반환 값

테스트 지점이 이 경로의 윤곽선에 닿으면 이 메서드는 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환 합니다.

설명

예제

다음 예제에서는 타원형 경로를 만들고 넓은 노란색 펜으로 해당 경로를 그립니다. 그런 다음, 코드는 배열의 각 지점을 테스트하여 점이 경로의 윤곽선(넓은 노란색 펜으로 그려짐)에 닿는지 확인합니다. 윤곽선에 닿는 점이 녹색으로 칠해지고 윤곽선에 닿지 않는 점이 빨간색으로 칠해집니다.

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

펜 너비 및 맞춤 설정