如题 width = right - left 需要+1 吗? width=right-left 
width=right-left +1height=bottom-top
height=bottom-top+1rect (0,0,screen.width,screen.height)
rect (0,0,screen.width-1,screen.height-1)你认为上面的哪个对啊?
这个问题我认为是delphi的 Graphics.pas 的 bug在c语言中都需要加减1在delphi中如果不是直接调用winapi不能加减1这个bug来自delphi的 Graphics.pas的源代码 有不同见解的朋友还原发表个人意见

解决方案 »

  1.   

    不需要吧走极端想一想,当width=0的时候,是不是left=right,肯定不会right比left多1
      

  2.   

    既然right是你自己定义的,那就该你自己解释right的含义。
    rect (0,0,screen.width-1,screen.height-1)似乎用的更多一些。我想不过是对应到屏幕上点的计算方法,就像小学时数电线杆中的间距。
    由于width=0这种看不见的东西是没有什么意义的,程序中如果用到他做参数,只要在div的时候验一下是不是零就行了。其实你用delphi试试创建一个宽0或者1的窗口就知道了,嘿嘿,他们在初始化的时候当用户给定的默认值在边界时,他们就自动给定一个新的默认值。
      

  3.   


    关于这个问题,最有说服力的只有微软。
    昨天晚上我用微软的winapi证明了微软关于象素区域的定义
    想得到正确答案的人,请留下你的信箱
    我将把我用api函数把证明过程和结果发送给你