2015-07-04 4 views
0

учитывая изображение ниже и процентное значение 25%. Как я могу создать еще один UIImage, который представляет 25% радиальной части данного изображения? Любая помощь приветствуется.Как создать UIImage, представляющий радиальную часть UIImage?

input image вход выход output image

- (UIImage *)radialPortion:(float)percent image:(UIImage *)image; 

ответ

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

Смежные вопросы