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

设置图片圆角的三种方式

时间:2016-07-13 19:54:28      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

    //了解切圆角的方式有三种,我们一种一种来看
    //圆角的第一种方式:(设置Layer属性)
    UIImageView *imageView = [[UIImageView alloc]init];
    imageView.backgroundColor = [UIColor purpleColor];
    imageView.frame = CGRectMake(110, 100, 200, 200);
    imageView.image = [UIImage imageNamed:@"1"];
    //将多余的部分切掉
    imageView.layer.masksToBounds = YES;
    //设置圆角
    imageView.layer.cornerRadius = imageView.frame.size.width / 2;
    [self.view addSubview:imageView];
    //圆角的第二种方式:(使用贝塞尔曲线:UIBezierPath和Core Graphics 框架画出一个圆角)
    UIImageView *imageView = [[UIImageView alloc]init];
    imageView.backgroundColor = [UIColor purpleColor];
    imageView.frame = CGRectMake(110, 100, 200, 200);
    imageView.image = [UIImage imageNamed:@"1"];
    /**
     *  对图片进行画图
     *
     *  @param size#>   图片的大小 description#>
     *  @param opaque#> 是否透明 description#>
     *  @param scale#>  比例大小 description#>
     *
     *  @return nil
     */
    UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0);
    
    /**
     *  使用贝塞尔曲线画出一个圆形图
     *
     *  @param CGRect 图片路径
     *
     *  @return 圆角大小
     */
    [[UIBezierPath bezierPathWithRoundedRect:imageView.bounds cornerRadius:imageView.frame.size.width] addClip];
    
    [imageView drawRect:imageView.bounds];
    
    imageView.image = UIGraphicsGetImageFromCurrentImageContext();
    
//    结束画图
    UIGraphicsEndImageContext();
    
    [self.view addSubview:imageView];
// 圆角的第三种方式:(使用CAShapeLayer和UIBezierPath)设置圆角 注:此方法消耗的内存少,渲染快.
// 首先导入框架 #import <AVFoundation/AVFoundation.h>
    UIImageView *imageView = [[UIImageView alloc]init];
        imageView.backgroundColor = [UIColor purpleColor];
        imageView.frame = CGRectMake(110, 100, 200, 200);
        imageView.image = [UIImage imageNamed:@"1"];
    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:imageView.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:imageView.bounds.size];
    
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];
    //设置大小
    maskLayer.frame = imageView.bounds;
    //设置图形样子
    maskLayer.path = path.CGPath;
    imageView.layer.mask = maskLayer;
    
    [self.view addSubview:imageView];

 

设置图片圆角的三种方式

标签:

原文地址:http://www.cnblogs.com/LzwBlog/p/5667033.html

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