利用Quztrz2D制作带白色边框的QQ头像
- (void)circleHeadPortrait
{
    // 1.加载原图
    UIImage *oldImage = [UIImage imageNamed:@"me"];
    
    // 2.开启一个和图片一样大小的上下文,也就是开启一个新的图片,新图片大小和原图片一致
    UIGraphicsBeginImageContextWithOptions(oldImage.size, NO, 0.0);
    
    // 3.取得当前的上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    // 4.画圆
    CGRect circleRect = CGRectMake(0, 0, oldImage.size.width, oldImage.size.height);
    CGContextAddEllipseInRect(ctx, circleRect);
    
    // 5.按照当前的路径形状(圆形)裁剪, 超出这个形状以外的内容都不显示
    CGContextClip(ctx);
    
    // 6.画图
    [oldImage drawInRect:circleRect];
    
    // 7.取图
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
    // 8.结束
    UIGraphicsEndImageContext();
    
    // 9.写出文件
    NSData *data = UIImagePNGRepresentation(newImage);
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"new.png"];
    [data writeToFile:path atomically:YES];
    
    // 10.显示图片
    self.iconView.image = newImage;
}
// 制作带光圈的头像
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 头像外环宽
    CGFloat headLine = 2;
    
    UIImage *img = [UIImage imageNamed:@"me"];
    
    CGFloat bigCricleW = img.size.width + 2*headLine;
    CGFloat bigCricleH = img.size.height + 2*headLine;
    CGSize size = CGSizeMake(bigCricleW, bigCricleH);
    UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
    CGContextRef ref = UIGraphicsGetCurrentContext();
    
    // 大圆
    [[UIColor whiteColor]set];
    CGFloat bigCircleRadius = bigCricleW * 0.5;
    CGFloat bigCirCleX = bigCricleW * 0.5;
    CGFloat bigCirCleY = bigCricleH * 0.5;
    CGContextAddArc(ref, bigCirCleX, bigCirCleY, bigCircleRadius, 0, M_PI * 2, 0);
    CGContextFillPath(ref);
    
    // 小园
    CGContextAddArc(ref, bigCirCleX, bigCirCleY, img.size.width * 0.5, 0, M_PI * 2, 0);
    
    // 裁剪
    CGContextClip(ref);
    [img drawInRect:CGRectMake(headLine, headLine, img.size.width, img.size.height)];
    
    // 将图片显示到view上
    self.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
    
    // 关闭上下文
    UIGraphicsEndImageContext();
}
                    
                
                
            
        
浙公网安备 33010602011771号