前言:
学习笔记,随时更新。如有谬误,欢迎指正。
说明:
- 红色字体为较为重要部分。
- 绿色字体为个人理解部分。
原文链接:https://learn.microsoft.com/en-us/windows/win32/gdi/filled-shapes
7 填充形状
- 填充形状是使用当前画的笔勾画轮廓并填充的几何形状。有五种填充形状:椭圆形、弦、饼图、多边形、
矩形。
7.1 关于填充形状
7.1.1 关于椭圆形
-
椭圆是由两个不动点定义的封闭曲线,使得曲线上任何一点到这两个不动点的距离之和为常数。
-
调用 Ellipse 来绘制椭圆形,应用程序提供椭圆边框的左上角和右下角的坐标。边框是完全围绕椭圆的最小矩形。
-
当系统绘制椭圆时,如果没有设置世界变换,它将排除右边界和下边界( Ellipse 绘制时默认不包含所设置的右边界和下边界像素)。如果应用程序通过调用 SetWorldTransform 或 ModifyWorldTransform 函数来设置世界转换,则绘制时包括右边界和下边界。
7.1.2 关于弦
-
弦是一个由椭圆和被称为割线的线段的交点围起来的区域。
-
调用 Chord 来绘制弦,应用程序提供椭圆边界矩形的左上角和右下角的坐标,以及弦的起点终点坐标。
-
当系统绘制弦的弯曲部分时,它通过使用指定设备上下文的当前弧形方向来完成。默认的圆弧方向为逆时针。可以通过调用 SetArcDirection 函数重置圆弧方向。
7.1.3 关于饼图
-
饼是由一条椭圆曲线和两条半径围成的区域。
-
调用 Pie 来绘制饼图,应用程序提供椭圆边界矩形的左上角和右下角的坐标,以及起点终点坐标。
-
当系统绘制弦的弯曲部分时,它通过使用指定设备上下文的当前弧形方向来完成。默认的圆弧方向为逆时针。可以通过调用 SetArcDirection 函数重置圆弧方向。
7.1.4 关于多边形
-
多边形是有直边的填充形状。
-
使用当前笔绘制多边形的边。当系统填充一个多边形时,它使用当前的画刷和当前的多边形填充模式。两种填充模式,交替(默认)和缠绕,决定一个复杂多边形内的区域是填充还是不填充。应用程序可以通过调用 SetPolyFillMode 函数来选择任意一种模式。有关多边形填充模式的详细信息,请参见区域。
-
除了使用 Polygon 绘制单个多边形外,应用程序还可以使用 PolyPolygon 函数绘制多个多边形。
7.1.5 绘制矩形
-
矩形是一个四边多边形,其对边平行且长度相等。
-
虽然应用程序可以通过调用 Polygon 函数来绘制矩形,并提供每个角的坐标,但 Rectangle 函数提供了一种更简单的方法。这个函数只需要左上角和右下角的坐标。
-
当应用程序调用 Rectangle 函数时,系统绘制矩形,如果没有为给定的设备上下文设置世界转换,则不包括右边界和下边界( Rectangle 绘制时默认不包含所设置的右边界和下边界像素)。如果使用 SetWorldTransform 或 ModifyWorldTransform 函数设置了世界变换,则系统包括右边界和下边界。
-
除了绘制传统的矩形外,还可以绘制圆角矩形。 RoundRect 函数要求应用程序提供左下角和右上角的坐标,以及用于圆角的宽度和高度。
-
应用程序可以使用以下函数来操作矩形
函数 说明 FillRect 重绘矩形的内部。 FrameRect 重绘矩形的边。 InvertRect 反转矩形内部显示的颜色。
7.2 使用填充形状
- 有关详细信息,请参阅使用填充形状。
7.3 填充的形状引用
7.3.1 填充形状函数
- 有关详细信息,请参阅填充形状函数。