我不明白。如果我有一个宽度为4像素的TRectF
:
aRectF := TRectF.Create(TPointF.Create(0,0),4,1);
X = 0 1 2 3 4
* * * *
为什么aRectF.centerpoint.x
会返回2而不是1.5?它是 bug 吗?
TRectF
为5像素:
X = 0 1 2 3 4 5
* * * * *
aRectF.centerpoint.x
返回2.5,但必须是2!
我错过了什么吗?
答案 0 :(得分:4)
在第一个示例中,X坐标的范围从0.0到4.0。中途点是2.0。
对于第二个例子,它们的范围从0.0到5.0。因此,中途点是2.5。
您的错误在于您认为右手边缘是我所描述的左侧的一个像素。