小甲鱼 发表于 2015-9-3 15:59:15

第023讲:窗口绘画:多边形函数和多边形填充模式

知识点回顾:


1. 绘制多边形的 API 函数

Polygon——绘制一个多边形

PolyPolygon——绘制多个多边形


2. 与 Polyline 和 PolyPolyline 函数的区别


[*]Polyline 函数是绘制多条线,Polygon 函数是绘制一个多边形。
[*]Polygon 函数会自动首尾相连,进而变成一个封闭式的图形
[*]因为 Polyline 函数的目标是画线,所以它根本不关心是否封闭和填充的问题;而 Polygon 函数是画封闭的多边形,所以它自己会帮我们填充背景颜色。


3. 填充模式

对于 Polygon 和 PolyPolygon 函数,Windows 都使用设备环境中的当前画刷来填充区域。至于内部是如何填充的,要取决于多边形的填充模式。

填充模式一共有两种:


[*]ALTERNATE(交替式,默认)
[*]WINDING(螺旋式)

使用 SetPolyFillMode 函数设置填充模式。


4. 两种填充模式的区别

在通常情况下,两种模式仅在绘制复杂、重叠的多边形才会有不同的显示(例如五角星)。



当填充模式为 ALTERNATE,GDI 填充每条扫描线从多边形的奇数边到偶数边之间的区域。也就是说,GDI 依次填充多边形的第一、第二条边之间的区域,接着填充第三、第四条边之间的区域(第二、第三条边之间的区域留空),以此类推。

当填充模式为 WINDING,GDI 填充所有能够一笔完成的多边形。




WinSDK

无名侠 发表于 2015-9-3 18:33:40

{:9_240:}支持小甲鱼老师啦

windowsapi 发表于 2016-5-2 10:37:10

甲鱼兄加油

CET-6-WPW 发表于 2016-5-23 20:56:37

楼主,跟着你的步伐学习Windows感觉很不错,只是想弱弱的问下,20讲之后怎么就没有课后作业了呢?

羽枫 发表于 2017-3-21 22:25:21

支持{:10_254:}
页: [1]
查看完整版本: 第023讲:窗口绘画:多边形函数和多边形填充模式