다음을 통해 공유


CDC::Arc

타원 호를 그립니다.

BOOL Arc(
   int x1,
   int y1,
   int x2,
   int y2,
   int x3,
   int y3,
   int x4,
   int y4 
);
BOOL Arc(
   LPCRECT lpRect,
   POINT ptStart,
   POINT ptEnd 
);

매개 변수

  • x1
    (논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

  • y1
    (논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

  • x2
    (논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 x 좌표를 지정합니다.

  • y2
    (논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 y 좌표를 지정합니다.

  • x 3
    호 정의 점의 x 좌표 (논리 단위)의 시작점을 지정 합니다.이 지점을 정확히 호 상의 필요가 없습니다.

  • y3
    호 정의 점의 y 좌표 (논리 단위)의 시작점을 지정 합니다.이 지점을 정확히 호 상의 필요가 없습니다.

  • x4
    호의 끝점 (논리 단위)를에서 정의 하는 점의 x 좌표를 지정 합니다.이 지점을 정확히 호 상의 필요가 없습니다.

  • y4
    호의 끝점 (논리 단위)를에서 정의 하는 점의 y 좌표를 지정 합니다.이 지점을 정확히 호 상의 필요가 없습니다.

  • lpRect
    경계 사각형 (논리 단위)를에서 지정합니다.하나를 통과할 수는 LPRECT 또는 CRect 이 매개 변수에 대 한 개체.

  • ptStart
    호 정의 점의 x 및 y 좌표 (논리 단위)의 시작점을 지정 합니다.이 지점을 정확히 호 상의 필요가 없습니다.하나를 통과할 수는 포인트 구조 또는 CPoint 이 매개 변수에 대 한 개체.

  • ptEnd
    호의 끝점 (논리 단위)를에서 정의 하는 점의 x 및 y 좌표를 지정 합니다.이 지점을 정확히 호 상의 필요가 없습니다.하나를 통과할 수는 포인트 구조 또는 CPoint 이 매개 변수에 대 한 개체.

반환 값

함수가 성공 하면 0이 아닌. 그렇지 않으면 0입니다.

설명

함수를 사용 하 여 그린 호 지정 된 경계 사각형에 의해 정의 되는 타원 세그먼트입니다.

실제 시작점의 호를 광선이 경계 사각형은 지정한 시작점부터의 센터에서 그려진 타원을 교차 하는 지점이입니다.실제 끝점은 호의 경계 사각형의 지정 된 끝점을 통해 중앙에서 그린 광선이 타원에서 서로 만나는 지점이입니다.시계 반대 방향으로 호를 그립니다.호 닫힌 아니므로 채워집니다 없습니다.사각형의 높이 너비 2 단위와 32767 보다 작은 단위 보다 커야 합니다.

예제

void CDCView::DrawArc(CDC* pDC)
{
   // Fill the client area with a thin circle. The circle's
   // interior is not filled. The circle's perimeter is
   // blue from 6 o'clock to 3 o'clock and red from 3
   // o'clock to 6 o'clock.

   // Get the client area.
   CRect rectClient;
   GetClientRect(rectClient);

   // Make a couple of pens.
   CPen penBlue;
   CPen penRed;
   CPen* pOldPen;

   penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
   penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));

   // Draw from 3 o'clock to 6 o'clock, counterclockwise,
   // in a blue pen.

   pOldPen = pDC->SelectObject(&penBlue);

   pDC->Arc(rectClient,
      CPoint(rectClient.right, rectClient.CenterPoint().y),
      CPoint(rectClient.CenterPoint().x, rectClient.right));

   // Draw from 6 o'clock to 3 o'clock, counterclockwise,
   // in a red pen.
   pDC->SelectObject(&penRed);

   // Keep the same parameters, but reverse start
   // and end points.
   pDC->Arc(rectClient,
      CPoint(rectClient.CenterPoint().x, rectClient.right),
      CPoint(rectClient.right, rectClient.CenterPoint().y));

   // Restore the previous pen.
   pDC->SelectObject(pOldPen);
}

요구 사항

헤더: afxwin.h

참고 항목

참조

CDC 클래스

계층 구조 차트

CDC::Chord

Arc

POINT 구조체

RECT 구조체