画线颜色不对,求解释~~~~送分贴~~~

wqbyangtzeu 2011-06-01 05:41:45
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();

画线画出的颜色居然是黑色的,理论上应该是红色的啊,请问各位大虾是什么原因,本人一菜鸟~~~
...全文
42 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧