GraphicsPath::IsVisible(constPointF&,constGraphics*) 메서드(gdipluspath.h)
GraphicsPath::IsVisible 메서드는 이 경로가 지정된 Graphics 개체로 채워지면 지정된 점이 채워진 영역에 있는지 여부를 결정합니다.
구문
BOOL IsVisible(
const PointF & point,
const Graphics *g
);
매개 변수
point
테스트할 지점에 대한 참조입니다.
g
선택 사항입니다. 세계-디바이스 변환을 지정하는 Graphics 개체에 대한 포인터입니다. 이 매개 변수의 값이 NULL이면 테스트가 월드 좌표로 수행됩니다. 그렇지 않으면 테스트가 디바이스 좌표로 수행됩니다. 기본값은 NULL입니다.
반환 값
테스트 지점이 이 경로의 내부에 있으면 이 메서드는 TRUE를 반환합니다 . 그렇지 않으면 FALSE를 반환 합니다.
설명
예제
다음 예제에서는 타원형 경로를 만들고 좁은 검은색 펜으로 해당 경로를 그립니다. 그런 다음, 코드는 배열의 각 지점을 테스트하여 지점이 경로의 내부에 있는지 확인합니다. 내부에 있는 점들은 녹색으로 칠해져 있고, 내부에 있지 않은 점들은 빨간색으로 칠해져 있습니다.
VOID IsVisibleExample(HDC hdc)
{
Graphics graphics(hdc);
INT j;
Pen blackPen(Color(255, 0, 0, 0), 1);
SolidBrush brush(Color(255, 255, 0, 0));
// Create and draw a path.
GraphicsPath path;
path.AddEllipse(50, 50, 200, 100);
graphics.DrawPath(&blackPen, &path);
// Create an array of four 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(50, 100),
PointF(250, 100),
PointF(150, 170),
PointF(180, 60)};
for(j = 0; j <= 3; ++j)
{
if(path.IsVisible(points[j], &graphics))
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);
}
}
요구 사항
머리글 | gdipluspath.h |