码迷,mamicode.com
首页 > 移动开发 > 详细

ios 如何让头像图片成为一个圆形

时间:2014-08-23 19:00:11      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   os   io   div   log   line   

+(UIImage *)imageDrawCircleWithImage:(UIImage *)originImage{
    
    CGFloat padding = 5 ; // 圆形图像距离图像的边距
    
    UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色
    
    CGSize originsize = originImage. size ;
    
    CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height );
    
    UIGraphicsBeginImageContext (originsize);
    
    CGContextRef ctx = UIGraphicsGetCurrentContext ();
    
    // 目标区域。
    
    CGRect desRect =  CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 ));
    
    // 设置填充背景色。
    
    CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor );
    
    UIRectFill (originRect); // 真正的填充
    
    // 设置椭圆变形区域。
    
    CGContextAddEllipseInRect (ctx,desRect);
    
    CGContextClip (ctx); // 截取椭圆区域。
    
    [originImage drawInRect :originRect]; // 将图像画在目标区域。
    
    UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext ();
    
    UIGraphicsEndImageContext ();
    
    return desImage;
    
}

+(UIImage *)imageDrawCircleEdgeWithImage:(UIImage *)originImage{
    
    CGFloat padding = 5 ; // 圆形图像距离图像的边距
    
    UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色
    
    CGSize originsize = originImage. size ;
    
    CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height );
    
    UIGraphicsBeginImageContext (originsize);
    
    CGContextRef ctx = UIGraphicsGetCurrentContext ();
    
    // 目标区域。
    
    CGRect desRect =  CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 ));
    
    // 设置填充背景色。
    
    CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor );
    
    UIRectFill (originRect); // 真正的填充
    
    // 设置椭圆变形区域。
    
    CGContextAddEllipseInRect (ctx,desRect);
    
    CGContextClip (ctx); // 截取椭圆区域。
    
    [originImage drawInRect :originRect]; // 将图像画在目标区域。
    
    // 边框 //
    
    CGFloat borderWidth = 10 ;
    
    CGContextSetStrokeColorWithColor (ctx, [ UIColor whiteColor ]. CGColor ); // 设置边框颜色
    
    CGContextSetLineCap (ctx, kCGLineCapButt );
    
    CGContextSetLineWidth (ctx, borderWidth); // 设置边框宽度。
    
    CGContextAddEllipseInRect (ctx, desRect); // 在这个框中画圆
    
    CGContextStrokePath (ctx); // 描边框。
    
    // 边框 //
    
    UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext (); // 获取当前图形上下文中的图像。
    
    UIGraphicsEndImageContext ();
    
    return desImage;
}

 

ios 如何让头像图片成为一个圆形

标签:des   style   blog   color   os   io   div   log   line   

原文地址:http://www.cnblogs.com/zuolovedu/p/3931612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!