最近在工作中遇到了一些问题,总结下来就是Android中Rect这个类造成的。不得不说,不知道Android SDK的开发人员是怎么想的, 这个类设计的太奇葩了。首先介绍一下Rect类:Rect类主要用于表示坐标系中的一块矩形区域,并可以对其做一些简单操作。这块矩形区域,需要用左上右下两个坐标点表示(left,top,right,bottom),你也可以获取一个Rect实例的Width和Height。就在这里,奇葩的事情来了,作为一个有一点经验的做图像或者矩阵运算或者编程的程序员来说,大家的共识是,如果一个矩阵是MxN的,也就是M行N列,那么行号是[0,M-1],列号是[0,N-1]。可是奇葩的Rect类并不是这样的!如果你这么声明一个Rect类:Rect rect=new Rect(100,50,300,500);

那么右下角(300,500)其实是不在这个矩形里面的,但是左上角(100,50)在,也就是说,这个矩形实际表示的区域是:(100,50,299,499)。另外,Rect计算出的Height和Width倒是对的。所以,在此告诫各位程序员,在涉及Rect运算的时候,尽量不要使用它的右下角左边,即right和bottom。因为他们是错的。当然,在你调用android自己的函数时,是可以使用的,因为Android里面一直保持这么奇葩的思维。

转:http://www.cnblogs.com/hrlnw/archive/2013/07/14/3189755.html

最新文章

  1. 关于context:component-scan配置中use-default-filters参数的作用
  2. c#中实现多个接口出现同名同参的方法
  3. jq 换图片路径
  4. hdu 5190 Building Blocks
  5. mcd, lm, VS lx
  6. AFNetworking 新版本3.0的迁移
  7. Java设计模式(七)策略模式 模板模式
  8. ASP.NET WebForm路由模拟
  9. Qt5:Qt中一些函数功能介绍
  10. [置顶] 基于FPGA的VGA简易显存设计&NIOS ii软核接入
  11. maven学习之1
  12. Java线程编程中isAlive()和join()的使用详解
  13. wkhtmltox实现网页转换成图片或pdf
  14. 一键git push脚本(python版)
  15. spring reference
  16. Mui中常见问题记录
  17. 【转】实习小记-python中可哈希对象是个啥?what is hashable object in python?
  18. eclipse配置servlet错误
  19. KVM使用入门
  20. Android创建和删除桌面快捷方式

热门文章

  1. C# 简单的百度推送代码
  2. 使用node搭建简单的服务
  3. python数据读取路径为啥要用双反斜杠?
  4. thinkphp读取配置
  5. (转)ab(apachebench)测试与loadrunner
  6. 6.RabbitMQ Linux安装
  7. struts漏洞处理--老项目struts版本升级遇到的问题
  8. KiFastCallEntry() 机制分析
  9. 剑指offer——30包含min函数的栈
  10. <爬虫实战>豆瓣电影TOP250(三种解析方法)