context进行画弧形,画圆操作

void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise)
CGContextRef不解释了,x,y为圆点坐标,startAngle为开始的弧度,endAngle为 结束的弧度,clockwise 0为顺时针,1为逆时针。
CGContextAddArc(context, 160, 200, 100, 0, 45*(M_PI/180), 0);
所以对上面这对代码的解释是这样的:
1)startAngle为0,绿色箭头的地方。
2)endAngle为45,黄色箭头的地方。
3)clockwise为0,按照红色箭头往下绘制图形。
4)所以效果就是红色的扇形。
补充:如果clockwise为1,则是蓝色部分区域。

//曲线
//上曲线
CGContextAddArc(context, 375/2, 300,self.frame.size.width/2-20,ToRad(120), ToRad(420), 0);
// CGContextSetStrokeColorWithColor(ctx, _unfilledColor.CGColor);
CGContextSetLineWidth(context, 30);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextDrawPath(context, kCGPathStroke);

CGContextSetLineCap(context, kCGLineCapRound);

imageLayer 切图
首先,保证图片是正方形, 角度为宽度的一半,若是网络图片 记得固定宽高 1:1 并在SD 请求完图片后,在设置layer

//线
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 0.5, 0.5, 0.5, 0.5);//线条颜色
CGPoint points[2];
points[0] = CGPointMake(0, 0);
points[1] = CGPointMake(0, 200);
CGContextAddLines(context,points,20);
CGContextDrawPath(context, kCGPathFillStroke);

你可能感兴趣的:(context进行画弧形,画圆操作)