CGRectIntegral
CGRectIntegral
: 返回包围源矩形的最小整数矩形。
将CGRect
取整到最近的完整点是非常重要的。小数值会让边框画在像素边界处。因为像素已经是最小单元(不能再细分),小数值会使绘制时取周围几个像素的平均值,这样看起来就模糊了。
CGRectIntegral
将表示原点的值向下取整,表示大小的值向上取整,这样就保证了你的绘制代码平整地对齐到像素边界。
作为一个经验性的原则,如果你在执行任何一个可能产生小数值的操作(例如除法,CGGetMid[X|Y]
,或是 CGRectDivide
),在把一矩形作为视图的边框之前应该用CGRectIntegral
正则化它。
从技术上讲,坐标系讲的是点,而视网膜屏一个点中有四个像素,所以它在奇数像素
± 0.5f
处绘制也不会产生模糊。
网友评论