.NET矩形关闭1

时间:2010-04-07 20:40:34

标签: .net gdi+

使用.NET GDI + Rectangle对象后,我注意到如果我创建一个X:0 * Y:0 *宽度:100 *高度:100的矩形,Right和{{ 1}}属性设置为100,100。这不应该是99,99? 0 - 99是100像素。 0 - 100是101像素。

FWIW,文档确实说权利是由Bottom计算的,而底部是x + width,但这是正确的吗?也许“正确”在这里并不重要,只要它一致吗?

我所知道的是,它有点(阅读......非常)烦人!

2 个答案:

答案 0 :(得分:2)

这取决于您是将坐标视为标记整个像素,还是将像素标记在像素之间。如果将它们视为无限小点,则(0,0)和(100,0)之间的像素数 <100>。但是,如果你认为它们标记了像素 - 这样像素(0,0)和(100,0)都包含在矩形中,那么就像你说的那样,它显然是101像素宽。

当然,将这个拼写在某个地方会很好。我怀疑它是,但我没有遇到相关文档。希望有人可以提供链接:)

答案 1 :(得分:2)

来自documentation

“客户区域的尺寸也由包含该区域的客户坐标的矩形结构描述。在所有情况下,矩形的左上角坐标包含在客户区域中,而右下角坐标包含在客户区域中。排除。图形操作不包括客户区的右边和下边。“

因此,你的x点包含集合[0,100],它是100个值。