VC通过GDI怎样创建绘图的裁剪区域?

BestAns1 2009-03-28 02:02:37
就是说,比如窗口是640x480的,我创建一个(10,10)-(100,100)的裁剪区域,那么任何在该区域外的绘图都会被忽略掉。
比如画一条(0,0)-(300,300)的直线,那么只会出现在自己定义的裁剪区域内,别的地方是不会绘制任何东西的。
VC通过GDI怎样创建这样的裁剪区域呢?
谢谢!
...全文
708 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wutumaaa 2011-09-17
  • 打赏
  • 举报
回复
学习了
zhw513029 2010-01-22
  • 打赏
  • 举报
回复
xue xi
jingon 2009-09-09
  • 打赏
  • 举报
回复
==============================================
BestAns1 2009-04-01
  • 打赏
  • 举报
回复
谢谢2楼3楼了!
FireBirdCN 2009-03-30
  • 打赏
  • 举报
回复
楼上都是正解~~
ljluck7687 2009-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fudiaoab1 的回复:]

void CGView::OnDraw(CDC* pDC)
{
CGDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRgn rgn;
rgn.CreateRectRgn(10, 10, 100, 100);
pDC->SelectClipRgn(&rgn);

// test
pDC->Rectangle(10, 10, 100, 100);
pDC->MoveTo(0, 0);
pDC->LineTo(300, 300);
}
[/Quote]

learn
fudiaoab1 2009-03-29
  • 打赏
  • 举报
回复

void CGView::OnDraw(CDC* pDC)
{
CGDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRgn rgn;
rgn.CreateRectRgn(10, 10, 100, 100);
pDC->SelectClipRgn(&rgn);

// test
pDC->Rectangle(10, 10, 100, 100);
pDC->MoveTo(0, 0);
pDC->LineTo(300, 300);
}
cnzdgs 2009-03-28
  • 打赏
  • 举报
回复
CreateRectRgn、SelectClipRgn。

19,464

社区成员

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

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