CGContext 给出了意想不到的线宽

Posted

技术标签:

【中文标题】CGContext 给出了意想不到的线宽【英文标题】:CGContext giving unexpected line width 【发布时间】:2013-07-08 10:34:25 【问题描述】:

我正在尝试绘制 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”路径工作正常。

【问题讨论】:

包括你如何计算路径 我正在创建简单的路径,因为我们使用 CGPathRef 绘制任意图像。 请让我们看看代码:) 【参考方案1】:

线条其实并不粗,画的时候有一半的线条被截断了。 您应该应用等于宽度一半的填充(在您的情况下,3/2 => 1.5),因为绘图始终从提供的点的中间开始。

【讨论】:

以上是关于CGContext 给出了意想不到的线宽的主要内容,如果未能解决你的问题,请参考以下文章

根据数值列调整冲积图中的线宽

增加 matplotlib 中图例线的线宽

在 OpenTK 中获取当前线宽

在缩放 UIScrollView 子视图时保持恒定的线宽

Pads怎么设置某一网络的线宽

怎么将CAD图纸中的线宽进行隐藏