음, MFC를 사용하여 몇 가지 작은 창 응용 프로그램을 작성하고 어떻게 작동하는지 배우려고 노력 중이며, 국가의 국기를 그리는 동안 문제가 발생했습니다. 다음 코드 행은 3 개의 직사각형과 중간 직사각형의 중심에서 원을 그립니다. 다음으로해야 할 일은 원을 그어서 스포크를 그리는 것입니다. 즉, 45도 각도로 분리 된 8 개의 지름입니다.Visual C++에서 선분 회전
void CMainWindow::OnPaint(){
CPaintDC dc(this);
for (int i=0;i <=100;i+=50) {
dc.SetBkMode(TRANSPARENT);
CRect rect;
CPen pen(PS_SOLID, 1, RGB(0,0,0));
CPen *oldPen = dc.SelectObject(&pen);
if (i == 0){
CBrush brush(RGB(255,130,0));
CBrush *oldBrush = dc.SelectObject(&brush);
dc.Rectangle(75,(i+50),275,(i+100));
}
else if(i == 50) {
CBrush brush(RGB(255,255,255));
CBrush *oldBrush = dc.SelectObject(&brush);
dc.Rectangle(75,(i+50),275,(i+100));
CPen pen2(PS_SOLID, 1,RGB(0,0,255));
CPen *oldPen = dc.SelectObject(&pen2);
dc.Ellipse(150,100,200,150);
}
else {
CBrush brush(RGB(34,139,34));
CBrush *oldBrush = dc.SelectObject(&brush);
dc.Rectangle(75,(i+50),275,(i+100));
}
}
내가 어떻게 해야할지 모르겠다. MFC 라이브러리에서 찾았지만 아무런 운이 없었습니다.
아무도 언급하지 않았으므로 일반적인 Sin/Cos 함수를 사용하여 결과를 지름으로 곱하여 중심점에 대한 상대 좌표를 얻을 수 있습니다. 나는 C++을하지 않기 때문에 당신에게 예제를 줄 수는 없습니다. – Deanna