CGContext给出了意想不到的线宽

时间:2013-07-08 10:34:25

标签: iphone ios5 core-graphics xcode4.3 quartz-graphics

我尝试绘制一个L形状,代码可以工作,但线条宽度不正确,垂直线条厚度为5像素,有些厚度为3像素,尽管我明确告诉它使用3像素作为线宽,我做错了什么?这是我的代码:

CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextClearRect(ctx, rect);
CGContextAddPath(ctx, pathi);
CGContextSetStrokeColorWithColor(ctx, [UIColor redColor].CGColor);
CGContextSetLineWidth(ctx, 3.0);
CGContextSetLineCap(ctx, kCGLineCapRound);
CGContextSetShouldAntialias(ctx, NO);
CGContextStrokePath(ctx);

我已经计算过路径" pathi"路径运转良好。

1 个答案:

答案 0 :(得分:2)

线条实际上并不厚,一半的线条在绘制时会被切断。 您应该应用等于宽度一半的填充(在您的情况下,3/2 => 1.5),因为绘图始终从提供的点的中间开始。