0

我有一个矩形{X:100 Y:60 Width:37 Height:58}

Rectangle.Center正在返回{X:118 Y:89}

我希望它返回{X:15.5 Y:44.5}(不特别包括小数),这是矩形宽度和高度的一半。

我不知道它到底在做什么。这么简单的问题。这是怎么回事?

4

1 回答 1

3

该属性正在返回正确的结果。为什么你会期望 X=15.5 和 Y=44.5?Rectangle.Center 将返回矩形的中心(正如人们所期望的那样)。中心等于:

{X + (width/2), Y + (height/2)}

插入给定的值会导致:

{100 + (37/2), 60 + (58/2)}
{100 + 18.5, 60 + 29}
{118.5, 89}

然而,由于使用 Rectangles int,118.5 被四舍五入为 118,从而得到最终答案:

{118, 89}

请扩展您的问题,为什么您会期望任何不同的结果?

于 2013-09-16T04:29:57.180 回答