多边形和剪贴区域

2016-02-19 12:19 1 1 收藏

今天图老师小编给大家精心推荐个多边形和剪贴区域教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

多边形也是一个GDI对象,同样遵守其他GDI对象的规则,只是通常都不将其选入DC中。在MFC中多边形有CRgn表示。多边形用来表示一个不同与矩形的区域,和矩形具有相似的操作。如:检测某点是否在内部,并操作等。此外还得到一个包含此多边形的最小矩形。下面介绍一下多边形类的成员函数:

CreateRectRgn 由矩形创建一个多边形

CreateEllipticRgn 由椭圆创建一个多边形

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

CreatePolygonRgn 创建一个有多个点围成的多边形

PtInRegion 某点是否在内部

CombineRgn 两个多边形相并

EqualRgn 两个多边形是否相等

在本节中讲演多边形的意义在于重新在窗口中作图时提高效率。因为引发窗口重绘的原因是某个区域失效,而失效的区域用多边形来表示。假设窗口大小为500*400当上方的另一个窗口从(0,0,10,10)移动到(20,20,30,30)这时(0,0,10,10)区域就失效了,而你只需要重绘这部分区域而不是所有区域,这样你程序的执行效率就会提高。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

通过调用API函数int GetClipRgn( HDC hdc, HRGN hrgn)就可以得到失效区域,但是一般用不着那么精确而只需得到包含该区域的最小矩形就可以了,所以可以利用int CDC::GetClipBox( LPRECT lpRect )完成这一功能。

来源:https://www.tulaoshi.com/n/20160219/1600605.html

延伸阅读
今天小编跟大家分享一个手工diy折纸立体多边形雪人,喜欢动手制作的朋友们,看完就制作吧,做出来的雪人还挺可爱的呢! 纸折纸手工制作立体多边形雪人。雪白的身体,黑色的眼睛、嘴巴及纽扣,黄色的尖鼻子,还有脸颊上的腮红,这些元素组合起来让它显得特别憨态可掬,要是能再给它制作一顶帽子戴上就更好玩了~~~ ...
AutoCAD中文版绘制正多边形   图01 1.如果选择执行内接于圆(I)选项,AutoCAD2013提示: 图02 指定圆的半径: 输入圆的半径后,AutoCAD2013会假设有一半径为输入值、圆心位于多边形中心的圆,并按照指定的边数绘制出与该圆内接的正多边形。 2.如果选择执行外切于圆(C)选项,AutoCAD2013同样提示: 图...
AutoCAD2013中文版绘制多边形   正多边形即等边多边形。 图01 1.选择AutoCAD2013工具栏上的矩形右侧的倒三角按钮 ,在弹出的菜单中选择多边形。或执行POLYGON命令。 图02 2.输入侧面数:(输入所绘多边形的边数量后按空格键;允许值为3~1024的整数)。如输入6后按空格键。 图03 3.指定正多边形的...
接上次的文章 考虑不周,请多指教 原理 先通过点做向右的一条射线 如果射线与多边形相交的点为奇数,则在多边形内。 是否相交判断: 1。判断在边的左边或右边(也有可能在线段上或线段的延伸线上) 2。判断点的Y值是否在线段两个端点Y值之间 所有边(点在此边之左)的和如果是奇数,则在多边形内 特殊情况处理: 第一种情况可不考...
第1步: 第2步: 第3步: 第4步: 第5步: 第6步: 第7步...

经验教程

76

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部