2011-08-02 138 views
1

我有以下但它只绘制一个圆的边框。 我想填补这个圈子。 ??如何用不同的颜色填充我的圈子(CGContextAddArc)?

CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextAddArc(context, 50, 50, 50, 0, 30, 0); 

//set the fill or stroke color 
CGContextSetRGBFillColor(context, 1, 0.5, 0.5, 1.0); 
CGContextSetRGBStrokeColor(context, 0.5, 1, 0.5, 1.0); 

//fill or draw the path 
CGContextDrawPath(context, kCGPathStroke); 
CGContextDrawPath(context, kCGPathFill); 

回答

2

您需要使用CGContextFillPath填补了路径。

1

删除笔画相关线条,只使用填充相关线条。

CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextAddArc(context, 50, 50, 50, 0, 30, 0); 

//set the fill or stroke color 
CGContextSetRGBFillColor(context, 1, 0.5, 0.5, 1.0); 

//fill or draw the path 
CGContextDrawPath(context, kCGPathStroke); 

如果你只想在CGContextDrawPath(context, kCGPathStroke);

像一个圆圈

CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextAddArc(context, 50, 50, 50, 0, 30, 0); 

CGContextSetRGBStrokeColor(context, 0.5, 1, 0.5, 1.0); 
CGContextDrawPath(context, kCGPathStroke); 
1

对于填充纯色它应该有kCGPathFillCGContextDrawPath(context, kCGPathFill);

对于颜色中风它应该有kCGPathStroke这个:

CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextAddArc(context, 50, 50, 50, 0, 30, 0); 

//set the fill or stroke color 
CGContextSetRGBFillColor(context, 1, 0.5, 0.5, 1.0); 

//fill on drawn path 
CGContextDrawPath(context, kCGPathFill); 
0
CGContextAddArc(ctx, x, y, 1.0, 0, 2 * Pi, 1); // Or is it 2 * M_PI? 

CGContextSetFillColorWithColor(ctx, fillColor); 
CGContextSetStrokeColorWithColor(ctx, strokeColor); 
CGContextDrawPath(ctx, kCGPathFillStroke);; 
0

如果你想填补了一圈,你可以使用这个

CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextAddArc(context, 50, 50, 50, 0, 30, 0); 

CGContextSetRGBFillColor(context, 1, 0.5, 0.5, 1.0); 

CGContextFillPath(context); 

和下面这段代码用来绘制边框为一圈

CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextAddArc(context, 50, 50, 50, 0, 30, 0); 

CGContextSetRGBStrokeColor(context, 0.5, 1, 0.5, 1.0); 

CGContextStrokePath(context); 

所以,在这种情况下,您必须选择第一个选项来填充圆圈

0

填充路径:

let context = UIGraphicsGetCurrentContext() 
    CGContextAddArc(context, self.bounds.width/2, self.bounds.height/2, 150, 0, CGFloat(2 * M_PI), 0) 
    UIColor.redColor().setFill() 
    CGContextFillPath(context) 

圈:

 let context = UIGraphicsGetCurrentContext() 
     CGContextAddArc(context, self.bounds.width/2, self.bounds.height/2, 150, 0, CGFloat(2 * M_PI), 0) 
     CGContextSetLineWidth(context, 10) 
     UIColor.greenColor().set() 
     CGContextStrokePath(context) 
相关问题