假设我有这个片段画一条线。
[path moveToPoint:CGPointMake(x + cellWidth * i + kLineThickness, y)];
[path addLineToPoint:CGPointMake(x + cellWidth *i + kLineThickness, y + cellWidth * cells + kLineThickness)];
该行的像素从哪里开始?它是否在两侧均匀划分线条厚度?
答案 0 :(得分:3)
您提供的代码将绘制一条垂直线,因为两个坐标具有相同的x坐标。它根本不会影响厚度。该行的像素从(x + cellWidth * i + kLineThickness,y)开始。
您可以在使用函数绘制线条之前指定线条的宽度来修改线条的宽度:
CGContextRef context = UIGraphicsGetCurrentContext();
CGontextSetLineWidth(context, lineWidth);
[path moveToPoint:CGPointMake(x1,y1)];
[path addLineToPoint:CGPointMake(x2,y2)];
上面的代码将使用宽度为lineWidth从(x1,y1)到(x2,y2)形成一条线。
此外,您需要绘制当前上下文。请仔细阅读Apple文档。 https://developer.apple.com/library/ios/documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_paths/dq_paths.html#//apple_ref/doc/uid/TP30001066-CH211-SW1
答案 1 :(得分:2)
是的,来自Quartz 2D Programming Guide:
线宽是线的总宽度,以单位表示 用户空间。这条线跨越了路径,占总数的一半 两边的宽度。