iOS中圆形图片设置

图片设置圆形常见有两种方式

一种是对图片的图层进行处理,另一种就是利用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();

这里要说明一下,项目里用修改图层的方式处理图片可能�有程序卡或者运行慢的情况出现。而使用开启图形上下文修改图片的方式效率是很高的,楼主比较推荐通过开启图形上下文的方式处理图片。

你可能感兴趣的:(iOS中圆形图片设置)