2013-10-14 88 views
0

我想在屏幕上畫一個透明的圓圈,屏幕上有一個0.5 alpha的黑色背景。但是我的透明圓圈沒有清除黑色背景。我怎麼能這樣做?如果我想要一個透明的矩形,我可以使用CGContextClearRect(context,rect)並清除背景。任何想法的一個圓圈?用Core Graphics繪製一個透明圓圈

CGContextRef context = UIGraphicsGetCurrentContext(); 

// Fill the screen with black 0.5 alpha color 
CGContextSetRGBFillColor(context,0., 0., 0., 0.5); 
CGContextFillRect(context, CGRectMake(0.0, 0.0, 320, CGRectGetHeight(self.frame))); 

CGRect circleFrame = CGRectMake(0, 0, 320, 320); 

// Draw a circle with a transparent fill 
CGContextSetFillColor(context, CGColorGetComponents([UIColor clearColor].CGColor)); 
CGContextAddEllipseInRect(context, circleFrame); 
CGContextFillPath(context); 
+0

對於任何圖紙請檢查此鏈接https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/BezierPaths/BezierPaths.html#//apple_ref/doc/uid/TP40010156-CH11- SW1 – virantporwal

回答

1

首先設置你的圈子的路徑,然後撥打CGContextClip(),然後繪製你的背景。