图片设置圆形常见有两种方式
一种是对图片的图层进行处理,另一种就是利用cocoas2D知识处理。
图层处理:
UIImage *image = [UIImageimageNamed:@"defaultUserIcon"];
image.layer.cornerRadius = image.size.width * 0.5;
这里将弧度设置成image宽度的一半,显示出来的图片就是圆形了
image.layer.masksToBounds = YES;
cocoas2D处理:
//NO代表透明
需要注意的是,一定要设置成透明的,不然将矩形图片改成圆形后,圆形以外的部分将会是黑色
UIGraphicsBeginImageContextWithOptions(self.size,NO,0.0);
//获得上下文
CGContextRefctx =UIGraphicsGetCurrentContext();
//添加一个圆
CGRectrect =CGRectMake(0,0,self.size.width,self.size.height);
CGContextAddEllipseInRect(ctx, rect);
//裁剪
CGContextClip(ctx);
//将图片画上去
[selfdrawInRect:rect];
//获得图片
UIImage*image =UIGraphicsGetImageFromCurrentImageContext();
//关闭上下文
UIGraphicsEndImageContext();
这里要说明一下,项目里用修改图层的方式处理图片可能�有程序卡或者运行慢的情况出现。而使用开启图形上下文修改图片的方式效率是很高的,楼主比较推荐通过开启图形上下文的方式处理图片。