美文网首页
Core Graphics 绘制出现边框虚化问题

Core Graphics 绘制出现边框虚化问题

作者: Alienchang | 来源:发表于2017-07-11 15:16 被阅读61次

直接上图


图1 图2

这两张占比图是用Core Graphics 绘制的,仔细看会有不同。第一张的水平线会有些发虚。
发现这个问题后我先想到是不是因为y轴出现小数,导致不够一个像素的大小导致的,但是发现显然不是,因为即使不够一个像素大小,也不会出现虚的情况,只能出现高度会有肉眼看不见的偏差。

但是问题肯定在小数

图3

这个是代码,后来想到计算机绘图都是一个像素一个像素的绘制上去的,绘制的时候会获取需要绘制的点的坐标,大家都知道计算机在计算小数的时候是不准确的,如果每次绘制的时候取到的坐标都不是准确的,上下左右都有偏差就会造成这种虚化的情况,所以代码改成这个

NSInteger y = size.height * (1 - _progress);

这样,y值是一个准确的值,就没有出现虚化的情况了

相关文章

网友评论

      本文标题:Core Graphics 绘制出现边框虚化问题

      本文链接:https://www.haomeiwen.com/subject/itkmhxtx.html