iOS图片设置圆角的三种方式

废话不多说,直接上代码


- (void)setCornerRadiusFirstMethod{

    self.imageView.image = [UIImageimageNamed:@"123.jpg"];

    self.imageView.layer.cornerRadius = self.imageView.frame.size.width / 2;

    self.imageView.layer.masksToBounds = YES;

}


- (void)setCornerRadiusSecondMethod{

    self.imageView.image = [UIImageimageNamed:@"123.jpg"];

    //开始对imageView进行画图

    UIGraphicsBeginImageContextWithOptions(self.imageView.bounds.size,NO, 1.0);

    //使用贝塞尔曲线画出一个圆形图

    [[UIBezierPathbezierPathWithRoundedRect:self.imageView.boundscornerRadius:self.imageView.frame.size.width]addClip];

    [self.imageViewdrawRect:self.imageView.bounds];

    

    self.imageView.image = UIGraphicsGetImageFromCurrentImageContext();

    //结束画图

    UIGraphicsEndImageContext();

}


- (void)setCornerRadiusThirdlyMethod{

    self.imageView.image = [UIImageimageNamed:@"123.jpg"];

    UIBezierPath* maskPath = [UIBezierPathbezierPathWithRoundedRect:self.imageView.boundsbyRoundingCorners:UIRectCornerAllCornerscornerRadii:self.imageView.bounds.size];

    CAShapeLayer* maskLayer = [[CAShapeLayeralloc]init];

    //设置大小

    maskLayer.frame =self.imageView.bounds;

    //设置图形样子

    maskLayer.path = maskPath.CGPath;

    self.imageView.layer.mask = maskLayer;

}


执行效率:

 NSDate* data1 = [NSDatedate];

    [selfsetCornerRadiusThirdlyMethod];

    double a = [[NSDatedate] timeIntervalSinceDate:data1];

    NSLog(@"%f",a);//0.010959

    

    NSDate* data2 = [NSDatedate];

    [selfsetCornerRadiusThirdlyMethod];

    double b = [[NSDatedate] timeIntervalSinceDate:data2];

    NSLog(@"%f",b);//0.000291

    

    

    NSDate* data3 = [NSDatedate];

    [selfsetCornerRadiusThirdlyMethod];

    double c = [[NSDatedate] timeIntervalSinceDate:data3];

    NSLog(@"%f",c);//0.000145




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值