路径层的概念
2012-04-18 22:21
190 查看
有两种方法创建路径层:
(1)
pDC->BeginPath();
pDC->Rectangle(50,50,50+sz.cx,50+sz.cy);
pDC->EndPath();
pDC->SelectClipPath(RGN_DIFF);
(2)
CSize sz=pDC->GetTextExtent(str);
CRgn rn;
rn.CreateRectRgn(0,50,sz.cx,sz.cy);
pDC->SelectClipRgn(&rn,RGN_DIFF);
路径层有什么作用?可以保护我们先前的文本或者图像不被后来画的覆盖。
如:
CString str;
str.LoadString(IDS_CJP); //加载字符资源
CSize sz =pDC->GetTextExtent(str);
pDC->TextOut(250,150,str);
pDC->BeginPath();//打开一个路径层
pDC->Rectangle(250,150,250+sz.cx, 150+sz.cy);
//画一个矩形,并将此矩形做为路径层
pDC->EndPath();//关闭一个路径层
使输出的字符不被覆盖。
CPen pen(PS_SOLID,1,RGB(5,150,250));
CPen *oldpen =pDC->SelectObject(&pen);
//SelectObject()函数原型: CPen* SelectObject( CPen* pPen );
//好像这样用也能编译通过并正常运行:pDC->SelectObject(pen);
pDC->SelectClipPath(RGN_XOR);
//调用这个函数来使当前路径层剪切区域与新剪切区域进行互操作。
for (int i=100; i<=400; i +=10)
{//这段代码画风格是为了体现路径层的作用
pDC->MoveTo(100,i);
pDC->LineTo(400,i);
pDC->MoveTo(i,100);
pDC->LineTo(i,400);
}
(1)
pDC->BeginPath();
pDC->Rectangle(50,50,50+sz.cx,50+sz.cy);
pDC->EndPath();
pDC->SelectClipPath(RGN_DIFF);
(2)
CSize sz=pDC->GetTextExtent(str);
CRgn rn;
rn.CreateRectRgn(0,50,sz.cx,sz.cy);
pDC->SelectClipRgn(&rn,RGN_DIFF);
路径层有什么作用?可以保护我们先前的文本或者图像不被后来画的覆盖。
如:
CString str;
str.LoadString(IDS_CJP); //加载字符资源
CSize sz =pDC->GetTextExtent(str);
pDC->TextOut(250,150,str);
pDC->BeginPath();//打开一个路径层
pDC->Rectangle(250,150,250+sz.cx, 150+sz.cy);
//画一个矩形,并将此矩形做为路径层
pDC->EndPath();//关闭一个路径层
使输出的字符不被覆盖。
CPen pen(PS_SOLID,1,RGB(5,150,250));
CPen *oldpen =pDC->SelectObject(&pen);
//SelectObject()函数原型: CPen* SelectObject( CPen* pPen );
//好像这样用也能编译通过并正常运行:pDC->SelectObject(pen);
pDC->SelectClipPath(RGN_XOR);
//调用这个函数来使当前路径层剪切区域与新剪切区域进行互操作。
for (int i=100; i<=400; i +=10)
{//这段代码画风格是为了体现路径层的作用
pDC->MoveTo(100,i);
pDC->LineTo(400,i);
pDC->MoveTo(i,100);
pDC->LineTo(i,400);
}
相关文章推荐
- MFC一路走来------路径层概念的理解
- MFC一路走来------路径层概念的理解
- Linux线程技术:概念与技术发展
- C#多线程学习1――多线程的相关概念
- RTSP基本概念
- (从终端看linux-1)linux tty pty pts 概念 区别
- getchar()与putchar()概念及相关用法
- 深入剖析JavaScript编程中的对象概念
- HBase概念学习(九)HTablePool为何弃用?
- Convolutional Neural Networks(CNN) 有关概念
- Android 四个基本组件的概念(只是概念)
- 深度学习基本概念
- Float(浮动)概念
- 哈夫曼树的定义和基本概念(从百度百科copy)
- 机器学习入门之一:基本概念
- 特征值分解、奇异值分解、PCA概念整理
- 集群概念
- 黑马程序员——OC语言日志——多态的概念和实现
- Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十)
- spark 并发度相关的一些概念