我有一个矩形{X:100 Y:60 Width:37 Height:58}
Rectangle.Center
正在返回{X:118 Y:89}
我希望它返回{X:15.5 Y:44.5}
(不特别包括小数),这是矩形宽度和高度的一半。
我不知道它到底在做什么。这么简单的问题。这是怎么回事?
该属性正在返回正确的结果。为什么你会期望 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}
请扩展您的问题,为什么您会期望任何不同的结果?