区域填充问题

kdzy01 2008-11-30 01:10:23
CDC *pDC=GetDC();
Brush.CreateSolidBrush(RGB(255,0,1));
Pen.CreatePen(PS_SOLID,10,RGB(0,0,255));
OldPen=pDC->SelectObject(&Pen);
OldBrush=pDC->SelectObject(&Brush);


const MAX_POINT=5;
POINT points[MAX_POINT];
points[0].x=100;
points[0].y=100;
points[1].x=200;
points[1].y=200;
points[2].x=300;
points[2].y=200;
points[3].x=400;
points[3].y=300;
points[4].x=100;
points[4].y=100;
pDC->BeginPath();

pDC->Polyline(points,MAX_POINT);

pDC->EndPath();
PathToRegion((HDC)pDC);
pDC->FillPath();
ReleaseDC(pDC);



////////////////////
CClientDC dc(this);
Brush.CreateSolidBrush(RGB(255,0,1));
Pen.CreatePen(PS_SOLID,10,RGB(0,0,255));
OldPen=dc.SelectObject(&Pen);
OldBrush=dc.SelectObject(&Brush);


const MAX_POINT=5;
POINT points[MAX_POINT];
points[0].x=100;
points[0].y=100;
points[1].x=200;
points[1].y=200;
points[2].x=300;
points[2].y=200;
points[3].x=400;
points[3].y=300;
points[4].x=100;
points[4].y=100;
dc.BeginPath();

dc.Polyline(points,MAX_POINT);

dc.EndPath();
PathToRegion((HDC)dc);
dc.FillPath()
这两段代码有什么区别啊
为什么第一个可以实现填充
而第二个不可以啊
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kdzy01 2008-12-04
  • 打赏
  • 举报
回复
谢谢 这个可以 把PathToRegion((HDC)dc); 放到dc.EndPath(); 前面好像也可以
skylu80 2008-12-02
  • 打赏
  • 举报
回复
PathToRegion((HDC)dc); 改为PathToRegion((HDC)&dc); 就一样了
FireBirdCN 2008-11-30
  • 打赏
  • 举报
回复
PathToRegion((HDC)pDC);

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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