프로그래밍

 3198, 1/160 회원가입  로그인  
   lovebuthate
   MFC 타원그리기

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6484 [복사]


MFC로 타원그리고 있는데


        double divide = 1;

        x = (p1.x) / divide + int(sin(0 * 3.141592 / 180)*abs(p2.x - p1.x)/2);
        y = (p1.y) / divide + int(cos(0 * 3.141592 / 180)*abs(p2.y - p1.y)/2);

        for (int i = 0; i < 360; i++)
        {
                dc.MoveTo(x, y); // 처음 그릴 좌표 x,y
                dc.LineTo((p1.x) / divide + int(sin(i*3.141592 / 180)*abs(p2.x - p1.x)/2),
                        (p1.y) / divide + int(cos(i*3.141592 / 180)*abs(p2.y - p1.y)/2)); // MoveTo(x,y)의 점부터 이어간다.

                x = (p1.x) / divide + int(sin(i*3.141592 / 180)*abs(p2.x - p1.x)/2);
                y = (p1.y) / divide + int(cos(i*3.141592 / 180)*abs(p2.y - p1.y)/2);

                if (i == 359)
                {
                        dc.MoveTo((p1.x) / divide + int(sin(i*3.141592 / 180)*abs(p2.x - p1.x)/2),
                                (p1.y) / divide + int(cos(i*3.141592 / 180)*abs(p2.y - p1.y)/2));
                        dc.LineTo(( p1.x) / divide + int(sin(0 * 3.141592 / 180)*abs(p2.x - p1.x)/2),
                                (p1.y) / divide + int(cos(0 * 3.141592 / 180)*abs(p2.y - p1.y)/2));
                }
        }

이렇게 짜놨는데
중심이 처음 찍은곳이 되는데
처음하고 마우스위치사이의 중점을 중심으로 하고싶은데 어떻게 해야될까요

  Hit : 5893     Date : 2014/10/15 05:50