我使用CGContextStrokePath绘制在白色背景图片的直线上,笔触颜色为红色,alpha为1.0
画完线后,为什么这些点不是(255,0,0),而是(255,96,96)
为什么不纯红色?

最佳答案

Quartz(iOS绘图层)使用抗锯齿功能使外观看起来平滑。这就是为什么您看到非纯红色像素的原因。

如果笔划宽度为1.0的线并且只需要纯红色像素,则该线必须是水平或垂直的,并且需要沿着像素的中心延伸,如下所示:

CGContextMoveToPoint(gc, 0, 10.5);
CGContextAddLineToPoint(gc, 50, 10.5);
CGContextStroke(gc);

y坐标中的.5将长沿像素的中心放置。

关于ios - CGContextStrokePath颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8304673/

10-09 12:29