2011-08-02 106 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) 
相關問題