[学习笔记] Windows编程——GDI——(七)填充形状

前言:

学习笔记,随时更新。如有谬误,欢迎指正。


说明:

  1. 红色字体为较为重要部分。
  2. 绿色字体为个人理解部分。

原文链接:https://learn.microsoft.com/en-us/windows/win32/gdi/filled-shapes

7 填充形状

  1. 填充形状是使用当前画的笔勾画轮廓并填充的几何形状。有五种填充形状:椭圆形、弦、饼图、多边形、
    矩形。

7.1 关于填充形状

7.1.1 关于椭圆形

  1. 椭圆是由两个不动点定义的封闭曲线,使得曲线上任何一点到这两个不动点的距离之和为常数。

  2. 调用 Ellipse 来绘制椭圆形,应用程序提供椭圆边框的左上角和右下角的坐标。边框是完全围绕椭圆的最小矩形。

  3. 当系统绘制椭圆时,如果没有设置世界变换,它将排除右边界和下边界( Ellipse 绘制时默认不包含所设置的右边界和下边界像素)。如果应用程序通过调用 SetWorldTransformModifyWorldTransform 函数来设置世界转换,则绘制时包括右边界和下边界。

7.1.2 关于弦

  1. 弦是一个由椭圆和被称为割线的线段的交点围起来的区域。

  2. 调用 Chord 来绘制弦,应用程序提供椭圆边界矩形的左上角和右下角的坐标,以及弦的起点终点坐标。

  3. 当系统绘制弦的弯曲部分时,它通过使用指定设备上下文的当前弧形方向来完成。默认的圆弧方向为逆时针。可以通过调用 SetArcDirection 函数重置圆弧方向。

7.1.3 关于饼图

  1. 饼是由一条椭圆曲线和两条半径围成的区域。

  2. 调用 Pie 来绘制饼图,应用程序提供椭圆边界矩形的左上角和右下角的坐标,以及起点终点坐标。

  3. 当系统绘制弦的弯曲部分时,它通过使用指定设备上下文的当前弧形方向来完成。默认的圆弧方向为逆时针。可以通过调用 SetArcDirection 函数重置圆弧方向。

7.1.4 关于多边形

  1. 多边形是有直边的填充形状。

  2. 使用当前笔绘制多边形的边。当系统填充一个多边形时,它使用当前的画刷和当前的多边形填充模式。两种填充模式,交替(默认)和缠绕,决定一个复杂多边形内的区域是填充还是不填充。应用程序可以通过调用 SetPolyFillMode 函数来选择任意一种模式。有关多边形填充模式的详细信息,请参见区域

  3. 除了使用 Polygon 绘制单个多边形外,应用程序还可以使用 PolyPolygon 函数绘制多个多边形。

7.1.5 绘制矩形

  1. 矩形是一个四边多边形,其对边平行且长度相等。

  2. 虽然应用程序可以通过调用 Polygon 函数来绘制矩形,并提供每个角的坐标,但 Rectangle 函数提供了一种更简单的方法。这个函数只需要左上角和右下角的坐标。

  3. 当应用程序调用 Rectangle 函数时,系统绘制矩形,如果没有为给定的设备上下文设置世界转换,则不包括右边界和下边界( Rectangle 绘制时默认不包含所设置的右边界和下边界像素)。如果使用 SetWorldTransformModifyWorldTransform 函数设置了世界变换,则系统包括右边界和下边界。

  4. 除了绘制传统的矩形外,还可以绘制圆角矩形。 RoundRect 函数要求应用程序提供左下角和右上角的坐标,以及用于圆角的宽度和高度。

  5. 应用程序可以使用以下函数来操作矩形

    函数说明
    FillRect重绘矩形的内部。
    FrameRect重绘矩形的边。
    InvertRect反转矩形内部显示的颜色。

7.2 使用填充形状

  1. 有关详细信息,请参阅使用填充形状

7.3 填充的形状引用

7.3.1 填充形状函数

  1. 有关详细信息,请参阅填充形状函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值