RectF.centerpoint错了吗?

时间:2016-10-14 16:34:38

标签: delphi

我不明白。如果我有一个宽度为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!

我错过了什么吗?

1 个答案:

答案 0 :(得分:4)

在第一个示例中,X坐标的范围从0.0到4.0。中途点是2.0。

对于第二个例子,它们的范围从0.0到5.0。因此,中途点是2.5。

您的错误在于您认为右手边缘是我所描述的左侧的一个像素。