2015-07-04 63 views

回答

1
- (UIImage *)radialPortion:(float)percent image:(UIImage *)image 
{ 
    CGSize size = image.size; 
    CGRect rect = {CGPointZero,size}; 
    UIGraphicsBeginImageContext(size); 
    CGFloat radius = MAX(size.width, size.height)/2; 
    UIBezierPath *path = [UIBezierPath bezierPath]; 
    CGPoint center = CGPointMake(size.width/2, size.height/2); 
    [path moveToPoint:center]; 
    [path addLineToPoint:CGPointMake(center.x, center.y-radius)]; 
    [path addArcWithCenter:center radius:radius startAngle:-M_PI_2 endAngle:-M_PI_2+M_PI*2*percent clockwise:1]; 
    [path closePath]; 
    [path addClip]; 
    [image drawInRect:rect]; 
    return UIGraphicsGetImageFromCurrentImageContext(); 
} 

注:代码只是用于样品图像工作,可能不适用于其它图像的工作。

+0

不知道你的答案是否相关 – docchang

+0

我已经改变了答案,以免错过你的意图。 – NSDeveloper