- (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();
}
Примечание: код просто работать для образца изображения, не может работать на другое изображение.
Не уверен, что ваш ответ вообще уместен – docchang
У меня есть ответ. Прошу прощения за ваше намерение раньше. – NSDeveloper