博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC中的路径层
阅读量:4229 次
发布时间:2019-05-26

本文共 2534 字,大约阅读时间需要 8 分钟。

     大笑自己加个自我解析吧。第三个函数,SelectClipPath()的意思是在设置一个路径层中之后,把路径层当作一个剪贴区域,这样就能和别的在同样区域显示的内容利用模式进行操作!

在MFC中,路径层主要运用于在窗口中绘图。

   学过Photoshop的同学都知道,我们在设计一张海报时,可能会用到多张图片进行合成,而在合成之前是要对每张图片进行各自处理的。这个时候我们就要给每一张图片定制一个它独有的处理空间---路径层。在各个独立的空间---路径层上,我们对每张图片进行处理而互相不受影响。
   类似地,MFC中,在一块窗口上我们也可以定制多个路径层并在各个路径层上进行绘图或输出字符的操作。
   MFC中,我们利用CDC类提供的成员函数BeginPath()和EndPath()这两个函数来实现一个路径层的创建。
(一) 
CDC::BeginPath

BOOL BeginPath( );

Return Value

Nonzero if the function is successful; otherwise 0.//如果打开路径层成功则返回值为一个非零值,否则返回0;

Remarks

Opens a path bracket in the device context. After a path bracket is open, an application can begin calling GDI drawing functions to define the points that lie in the path. An application can close an open path bracket by calling the EndPath member function. When an application calls BeginPath, any previous paths are discarded.

//在设备描述表中打开一个路劲层,一个路径层打开后,应用程序就可以调用GDI函数(图形设备接口函数),去设置处在这个路径层中的点,应用程序通过调用EndPath函数将路径层关闭。当应用程序调用BeginPath的时候,之前的路径就会被弃置不理。

(二)

CDC::EndPath

BOOL EndPath( );

Return Value

Nonzero if the function is successful; otherwise 0..//如果关闭路径层成功则返回值为一个非零值,否则返回0;

Remarks

Closes a path bracket and selects the path defined by the bracket into the device context.

//用于关闭一个路径层,并且将由这个路径层定义的路径选入设备描述表当中

 

  
 
 
 
在绘图时,如果希望图的某一部分与其他部分分开处理,就可以利用路径层的独立性
 (三)

CDC::SelectClipPath

BOOL SelectClipPath( int nMode );//此函数的作用是将所建立的路径层作为一个剪辑区域,将原来的路径层作为另一个剪辑区域,然后对这两个区域进行取交集、并集的操作得到一个新的剪辑区域,并在这个新的剪辑区域里进行互操作。

Return Value

Nonzero if the function is successful; otherwise 0.//函数成功返回值为非零,否则为0;

 

Parameters

nMode              //函数形参可取如下值

Specifies the way to use the path. The following values are allowed:

//指定使用路径的方式,以下值是可取的

  • RGN_AND   The new clipping region includes the intersection (overlapping areas) of the current clipping region and the current path.
  • //交集,也就是说,如果在两个剪辑区域里面都有作图的话,最后的效果是只在剪辑区的交集处显示图形
  • RGN_COPY   The new clipping region is the current path.
  • //新的剪辑区就是新建路径层上的剪辑区
  • RGN_DIFF   The new clipping region includes the areas of the current clipping region, and those of the current path are excluded.
  • //新的剪切区是旧的剪切区中除去路径层的部分
  • RGN_OR   The new clipping region includes the union (combined areas) of the current clipping region and the current path.
  • //新的剪切区是旧的剪切区和路径层的并集
  • RGN_XOR   The new clipping region includes the union of the current clipping region and the current path, but without the overlapping areas.
  • //新的剪切区是旧的剪切区和路径层的并集,但除去他们的交集部分

Remarks

Selects the current path as a clipping region for the device context, combining the new region with any existing clipping region by using the specified mode. The device context identified must contain a closed path.

你可能感兴趣的文章
办公常用工具之Typora使用教程
查看>>
关于Memory,Cache,Buffer的区别
查看>>
Python之时间处理模块time
查看>>
Hbase优化之Region分割设置的问题
查看>>
学习hadoop需要具备基础知识
查看>>
HDFS基础操作一览
查看>>
MapReduce原理
查看>>
hive总结(四)Hive中的桶
查看>>
Hive总结(五)表的基本操作
查看>>
Hive总结(六)表的三种连接方式
查看>>
Hive 总结(七)hive导出数据的三种方式
查看>>
pycharm+mysql连接
查看>>
《面试》之LINUX常用命令
查看>>
python 安装 pip
查看>>
《面试》 几种经典的简单的排序方法(冒泡,选择,插入)python实现
查看>>
《面试》求2个数的最大公约数和最小公倍数
查看>>
《面试》数据结构 - python
查看>>
《python》 str 和 list 转换 以及eval()函数
查看>>
《面试》--数据结构常见题目分析
查看>>
《面试》--网易提前批题目汇总
查看>>