您的位置:首页 > 移动开发

MFC一路走来------路径层概念的理解

2011-02-03 13:40 141 查看

  在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.

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息