绘制圆形头像图片

时间:2022-05-19 23:11:51

1.利用UIImageView绘制(最简单)

UIImageView* imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"canna"]];
imageView.layer.masksToBounds = YES;
imageView.layer.cornerRadius = imageView.frame.size.width * 0.5;

此方法最简单,但是性能较差。

2.利用UIImage绘制(性能最佳)

// 1.开启一个透明上下文(必须选择透明上下文,否则圆形区域之外将会被填充上其他颜色)

UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0f);

// 2.加入一个圆形路径到图形上下文

CGContextRef ctx = UIGraphicsGetCurrentContext();

CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);

CGContextAddEllipseInRect(ctx, rect);

// 3.裁剪

CGContextClip(ctx);

// 4.绘制图像

[self drawInRect:rect];

// 4.取得图像

UIImage* circleImage = UIGraphicsGetImageFromCurrentImageContext();

// 5.关闭上下文

UIGraphicsEndImageContext();
此方法是对UIImage方法的扩展,性能较佳,比较推荐。

转载自:http://www.jianshu.com/p/367f837f7097