第一种方法
是对图层进行操作
/** 要操作的图片 */ @property (nonatomic,retain) UIImageView * imageView ;
直接对 图片的 layer进行操作
self.imageView.layer.cornerRadius = 10;// 图片半径
self.imageView.layer.masksToBounds = YES;// 可剪裁
注意:缺点, 要是同时加载的太多的原型头像 会特别卡 !!!!
第二种方法
1.开启图形上下文,图形上下文 必须是透明的
2.在图形上下文里面添加一个圆形,同时添加一个矩形框
3.然后根据圆形 ,将矩形框剪裁成 圆形
4.然后将图片画上去
5.关闭上下文
UIGraphicsBeginImageContext( ) //不透明的, 不用
// 开启上下文
// 透明的
UIGraphicsBeginImageContextWithOptions(当前图片的尺寸self.size, 是否透明 NO代表透明, 0.0);
// 获取上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 添加一个圆
CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);//矩形框 就是图片的大小
CGContextAddEllipseInRect(ctx, rect);
// 裁剪
CGContextClip(ctx);// 是根据
// 将图片画上去
[self drawInRect:rect];
// 获取一张图片
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
// 关闭上下文
UIGraphicsEndImageContext();