首页 > 代码库 > ios 如何让头像图片成为一个圆形

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

+(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 如何让头像图片成为一个圆形