设为首页 加入收藏

TOP

图形基础(七十九)
2010-12-30 21:10:52 】 浏览:57698
Tags:图形 基础
L, TRUE) ;

您可以通过呼叫GetUpdateRect来取得失效矩形的座标,并且可以使用ValidateRect函式使显示区域的矩形有效。当您接收到一个WM_PAINT讯息时,无效矩形的座标可以从PAINTSTRUCT结构中得到,该结构是用BeginPaint函式填入的。这个无效矩形还定义了一个「剪裁区域」,您不能在剪裁区域外绘图。

Windows有两个作用於剪裁区域而不是矩形的函式,它们类似於InvalidateRect和ValidateRect:

当您接收到一个由无效区域引起的WM_PAINT讯息时,剪裁区域不一定是矩形。

您可以使用以下两个函式之一:

通过将一个剪裁区域选进装置内容来建立自己的剪裁区域,这个剪裁区域使用装置座标。

GDI为剪裁区域建立一份副本,所以在将它选进装置内容之後,使用者可以删除它。Windows还提供了几个对剪裁区域进行操作的函式,如ExcludeClipRect用於将一个矩形从剪裁区域里排除掉,IntersectClipRect用於建立一个新的剪裁区域,它是前一个剪裁区域与一个矩形的交,OffsetClipRgn用於将剪裁区域移动到显示区域的另一部分。

CLOVER程式
 

CLOVER程式用四个椭圆组成一个剪裁区域,将这个剪裁区域选进装置内容中,然後画出从视窗显示区域的中心出发的一系列直线,这些直线只出现在剪裁区域所限定的范围,结果显示如图5-20所示。


 

图5-20 CLOVER利用复杂的剪裁区域画出的图像

要用常规的方法画出这个图形,就必须根据椭圆的边线公式计算出每条直线的端点。利用复杂的剪裁区域,可以直接画出这些线条,而让Windows确定其端点。CLOVER如程式5-8所示。

首页 上一页 76 77 78 79 80 81 82 下一页 尾页 79/83/83
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇键盘 下一篇输出文字

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目