码迷,mamicode.com
首页 > 其他好文 > 详细

Xcode裁剪图片并添加圆环

时间:2016-05-12 18:50:04      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

原理:开启一个比图片稍大的位图上下文,然后在位图上下文上绘制一个内切圆,最后绘制一个比位图上下文小的图片,并切去边缘。如下图所示。

技术分享

步骤:

       1. 加载原生图片

       2. 开启上下文

       3. 画大圆并填充路径

       4. 设置裁剪区域

       5. 绘制图形

       6. 获取图片

       7. 关闭上下文

代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    //1.加载原生图片
    UIImage *image = [UIImage imageNamed:@"高圆圆"];
    //self.imageView.image = image;
    
    //图片的宽度和高度
    CGFloat imageWH = image.size.width;
    
    //边界宽度
    CGFloat border = 1.5;
    //圆环的高度和宽度
    CGFloat ovalWH = imageWH + 2 * border;
    
    //2.开启上下文
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(ovalWH, ovalWH), NO, 0);
    
    //3.画大圆
    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)];
    
    [[UIColor colorWithRed:1.000 green:0.138 blue:0.046 alpha:1.000] set];
    
    [path fill];
    
    //4.设置裁剪区域
    UIBezierPath *clipedPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)];
    
    [clipedPath addClip];
    
    //5.绘制图形
    [image drawAtPoint:CGPointMake(border, border)];
    
    //6.获取图片
    UIImage *clipedImage = UIGraphicsGetImageFromCurrentImageContext();
    
    //7.关闭上下文
    UIGraphicsEndImageContext();
    self.imageView.image = clipedImage;
}
原图:

技术分享

裁剪后的图形:

技术分享


Xcode裁剪图片并添加圆环

标签:

原文地址:http://blog.csdn.net/bao_libra/article/details/51355375

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!