我使用CGContextStrokePath画在白色背景图片的直线上,笔触颜色为红色,alpha为1.0 绘制线后,为什么点不是(255,0,0),但是(255,96,96) 为什么不是纯红色?
答案 0 :(得分:2)
Quartz(iOS绘图层)使用抗锯齿功能使事物看起来很流畅。这就是你看到非纯红色像素的原因。
如果你划出一条宽1.0的线并且你只想要纯红色像素,那么这条线需要是水平的或垂直的,它需要沿着像素的中心运行,如下所示:
CGContextMoveToPoint(gc, 0, 10.5);
CGContextAddLineToPoint(gc, 50, 10.5);
CGContextStroke(gc);
y坐标中的.5沿着像素的中心放置长度。