什么是RECT矩形结构体?其参数及宽高计算规则是什么?
Win32 RECT结构体参数与宽高计算说明
坐标结构示意图
坐标系原点(0,0) +--------------------------→ x轴向右递增 | | (left, top) ●————————————————————————● | | | | | | ↑ | | | | 高度 = bottom - top | | | ↓ | ————————————————————————● (right, bottom) | ←———— 宽度 = right - left ———→ ↓ y轴向下递增
核心参数定义
left:矩形左上角顶点的x轴坐标top:矩形左上角顶点的y轴坐标right:矩形右下角顶点的x轴坐标bottom:矩形右下角顶点的y轴坐标
宽高计算逻辑
Win32桌面开发默认使用左上角为原点的屏幕坐标系:x轴数值沿水平向右方向增大,y轴数值沿垂直向下方向增大。
基于这个坐标系规则,矩形的宽高直接通过两个对角顶点的坐标差值计算即可:
- 宽度为水平方向的坐标差值:
int width = rect.right - rect.left; - 高度为垂直方向的坐标差值:
int height = rect.bottom - rect.top;
计算示例
假设某矩形的参数为:left=20、top=20、right=170、bottom=100
宽度 = 170 - 20 = 150
高度 = 100 - 20 = 80
最终得到宽150像素、高80像素的矩形
内容的提问来源于stack exchange,提问作者albert
相关产品推荐
相关产品推荐

