矩形 (Direct3D 9)

在整个 Direct3D 和窗口编程中,屏幕上的对象在边界矩形方面被引用。 边界矩形的边始终与屏幕的边平行,始终可通过两个点(左上角和右下角)来描述矩形。 大多数应用程序使用 RECT 结构来携带有关边框的信息,该矩形在缩小到屏幕或执行命中检测时使用。

在 C++ 中, RECT 结构具有以下定义。

typedef struct tagRECT { 
    LONG    left;    // This is the upper-left corner x-coordinate.
    LONG    top;     // The upper-left corner y-coordinate.
    LONG    right;   // The lower-right corner x-coordinate.
    LONG    bottom;  // The lower-right corner y-coordinate.
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; 

在上述示例中,左侧成员和顶部成员为边界矩形的左上角的 x 坐标和 y 坐标。 同样,右侧成员和底部成员构成了左下角的坐标。 以下示意图说明了你如何可视化这些值。

由左侧值、顶部值、右侧值和底部值绑定的矩形的示意图

右边缘的像素列和下边缘的像素行未包含在 RECT 中。 例如,使用成员 {10, 10, 138, 138} 锁定 RECT 会生成宽度和高度为 128 像素的对象。

为了提高效率、一致性和易用性,所有 Direct3D 演示函数都使用矩形。

坐标系和几何图形