한국어
Windows Programming
 

MFC의 다각형 그리기

pjk 2014.05.24 12:04 조회 수 : 6603

MFC의 다각형 그리기

#include <math.h>

int n = 6;  // 다각형의 각 갯수
double Angle = 0.0; // 한 각의 크기
CPoint cp(200,100),sp;    // 중심점
double r = 50.5;     // 반지름

Angle = 360.0 / n;

pDC->MoveTo(cp.x + r, cp.y);

// 중심점과 반지름으로 그릴 때 다각형의 좌표
for(int i = 1; i < n+1; i++)
{
sp.x = cp.x + r * cos((Angle*i) * 3.141592 / 180);
sp.y = cp.y + r * sin((Angle*i) * 3.141592 / 180);
pDC->LineTo(sp.x, sp.y);        
}

// 다각형을 다 그리고 나서 마무리
pDC->LineTo(cp.x + r, cp.y);  

아니면 아래처럼

CClientDC dc(this);
 POINT ALU[] = {
  390, 128,
  390, 150,
  395, 155,
  390, 160,
  390, 178,
  428, 163,
  428, 145,
  390, 128  // 처음 위치
 };
 dc.Polygon(ALU, 8);