画线颜色不对,求解释~~~~送分贴~~~
CPaintDC dc(this); // device context for painting
//1.创建兼容DC
CDC *pMemDC = new CDC;
pMemDC->CreateCompatibleDC(&dc);
//2.获取客户区大小
CRect rcClient;
GetClientRect(rcClient);
////3.创建位图选入设备环境
CBitmap *pBmpNew = new CBitmap;
pBmpNew->CreateCompatibleBitmap(pMemDC,rcClient.Width(),rcClient.Height());
CBitmap * pOldBmp = pMemDC->SelectObject(pBmpNew);
CBrush * PbrushNew = new CBrush(RGB(255,255,255));
CBrush * pOldBrush = pMemDC->SelectObject(PbrushNew);
pMemDC->FillRect(rcClient,PbrushNew);
//4.创建画笔
//CPen linePen(PS_SOLID,1,RGB(0,255,0));
CPen linePen;
linePen.CreatePen(PS_SOLID,1,RGB(255,0,0));
CPen * pOldPen = pMemDC->SelectObject(&linePen);
//5.获取屏幕中心点
CPoint ptCenter = rcClient.CenterPoint();
for (int i = 0 ;i < 180 ; i = i + 30)
{
CPoint ptEnd;
ptEnd.x = ptCenter.x + 60.0 * cos(PI*i*2/180.0);
ptEnd.y = ptCenter.y + 60.0 * sin(PI * i *2/180.0);
pMemDC->MoveTo(ptCenter);
pMemDC->LineTo(ptEnd);
CString outStr;
outStr.Format(_T("x = %d ,y = %d\r\n"),ptEnd.x,ptEnd.y);
OutputDebugString(outStr);
}
dc.BitBlt(0,0,rcClient.Width(),rcClient.Height(),pMemDC,0,0,SRCCOPY);
pMemDC->SelectObject(pOldBmp);
pMemDC->SelectObject(pOldPen);
pMemDC->SelectObject(pOldBrush);
pMemDC->DeleteDC();
pBmpNew->DeleteObject();
linePen.DeleteObject();
pOldBrush->DeleteObject();
画线画出的颜色居然是黑色的,理论上应该是红色的啊,请问各位大虾是什么原因,本人一菜鸟~~~