这个方法返回一个整数,表示当前设备上下文的多边形填充模式。返回值可以是以下两个常量之一:
- WINDING: 使用 winding rule 进行填充。即,对于多边形中的任意点,射线与多边形交点的数量(包括端点)如果是奇数,则该点在多边形内;如果是偶数,则该点在多边形外。
- ALTERNATE: 使用 alternate (even-odd) rule 进行填充。即,对于多边形中的任意点,射线与多边形交点的数量(包括端点)如果是奇数,则该点在多边形内;如果是偶数,则该点在多边形外。
以下是一个简单的示例,演示如何使用 GetPolyFillMode 方法:
CDC dc; // 假设已经创建了设备上下文对象
// 获取当前设备上下文的多边形填充模式
int polyFillMode = dc.GetPolyFillMode();
// 判断当前填充模式并输出信息
if (polyFillMode == WINDING)
{
TRACE(_T("Current Poly Fill Mode: WINDING\n"));
}
else if (polyFillMode == ALTERNATE)
{
TRACE(_T("Current Poly Fill Mode: ALTERNATE\n"));
}
else
{
TRACE(_T("Unknown Poly Fill Mode\n"));
}
在这个示例中,首先创建了一个设备上下文对象 dc,然后通过 GetPolyFillMode 方法获取了当前设备上下文的多边形填充模式。然后根据返回值输出相应的信息。
转载请注明出处:http://www.zyzy.cn/article/detail/17124/MFC/CDC