首页 > 其他 > 详细

如何把一个图片裁剪成圆形

时间:2014-03-04 13:20:12      阅读:1142      评论:0      收藏:0      [点我收藏+]

bubuko.com,布布扣

1.有的时候,为了工作的需要,需要吧图片裁剪成圆形。我们一般有两种思路:让承载image的ImageView变成圆形,或者把图片变成圆形。

A:通过image的mask 来操作。需要添加mask目标图片。 这个需要借助图片处理工具,不再赘述。

B“通过设置  imageView的 layer 来裁剪 ImageVIew进行操作。

 _userInfoView = [[LCUserInfoView alloc]initWithFrame:CGRectMake(0, 60, ScreenWidth, 80)];
    
    _userInfoView.backgroundColor = [UIColor blueColor];

    
    
    _userInfoView.nickName.text = @"活的潇洒才是真的";
    _userInfoView.sex.text = @"男";
    _userInfoView.shortShow.text = @"潇潇洒洒的走天下,走到天涯都不怕";
    
    _userInfoView.userImageView.layer.masksToBounds = YES;
    
    _userInfoView.userImageView.layer.cornerRadius = 30;
    
    [_userInfoView.userImageView setImage:[UIImage imageNamed:@"test3.png"]];
    
    [self.view addSubview:_userInfoView];

C:通过代码对画布进行裁剪。

  1. -(UIImage*) circleImage:(UIImage*) image withParam:(CGFloat) inset {  
  2.     UIGraphicsBeginImageContext(image.size);  
  3.     CGContextRef context = UIGraphicsGetCurrentContext();  
  4.     CGContextSetLineWidth(context, 2);  
  5.     CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);  
  6.     CGRect rect = CGRectMake(inset, inset, image.size.width - inset * 2.0f, image.size.height - inset * 2.0f);  
  7.     CGContextAddEllipseInRect(context, rect);  
  8.     CGContextClip(context);  
  9.       
  10.     [image drawInRect:rect];  
  11.     CGContextAddEllipseInRect(context, rect);  
  12.     CGContextStrokePath(context);  
  13.     UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();  
  14.     UIGraphicsEndImageContext();  
  15.     return newimg;  
  16. }  

第三种方法不常用,没有尝试。


如何把一个图片裁剪成圆形,布布扣,bubuko.com

如何把一个图片裁剪成圆形

原文:http://blog.csdn.net/ministarler/article/details/20389071

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!