iOS 解决无法使用Quartz2D绘制1像素直线的问题

来源:互联网 发布:51单片机助手 编辑:程序博客网 时间:2024/05/20 20:44

在公司的项目中用到绘制折线图,

,然后美工给的视觉稿中,坐标数值为1个像素(视网膜屏幕中的1个像素)即在开发中要设置线宽为0.5像素.............
因此,使用如下代码,绘制了坐标!

UIBezierPath *line = [UIBezierPath bezierPath];    [line setLineWidth:0.5];


结果问题来了,效果图出现后,美工人员说这个两个像素,开始纠结中。。。。。

再后来直接将线宽改为0.25,发现不但线没有变细,反而颜色变淡了~~~~~郁闷中

因此,研究Quartz2D绘线特性,果然。。。有情况

Quartz2D中默认绘制开启了抗锯齿机制,修改CGContextSetShouldAntialias属性搞定。

在drawRect()中添加如下代码!搞定!


// 为绘制1像素,关掉Quartz2D 抗锯齿机制    CGContextRef context = UIGraphicsGetCurrentContext();    CGContextSetShouldAntialias(context, NO);


0 0
原创粉丝点击